Поля регистрации (скрыть / показать). Как сделать?

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 828 Просмотров
*

iDrevniy

  • Осваиваюсь на форуме
  • ***
  • 31
  • 0
Что есть
При выборе "Тип клиента" -> Фирма или Физ. лицо, показываются или прячутся поля Код фирмы и Вид НДС.

Что нужно
Добавить поля, которые скрываются и показываются. Должно быть так: Выбрали "Тип клиента" -> Фирма, показываем поля Наименование, Код фирмы и Вид НДС. То есть добавить в скрытые поле Наименование. Причем само поле уже есть, его просто нужно спрятать.

Как пытался реализовать
Начал со страницы регистрации.
1. Открыл com_jshopping/js/functions.js и изменил следующие вещи.
Перенес в этот код
Код
function validateRegistrationForm(urlcheckdata, formName){
if ( (document.forms[formName].client_type && document.forms[formName].client_type.value=="1") || !document.forms[formName].client_type ){
       
        if (register_field_require.firma_code){
            arrayId[i] = 'firma_code';
            arrayType[i] = 'nem';
            arrayParams[i] = '';
            arrayErrorMessages[i] = '';
            i++;
        }
       
        if (register_field_require.tax_number){
            arrayId[i] = 'tax_number';
            arrayType[i] = 'nem';
            arrayParams[i] = '';
            arrayErrorMessages[i] = '';
            i++;
        }
    }
поле фирмы, получилось вот так:
Код
if ( (document.forms[formName].client_type && document.forms[formName].client_type.value=="1") || !document.forms[formName].client_type ){
       
      if (register_field_require.firma_name){
            arrayId[i] = 'firma_name';
            arrayType[i] = 'nem';
            arrayParams[i] = '';
            arrayErrorMessages[i] = '';
            i++;
        }
       
        if (register_field_require.firma_code){
            arrayId[i] = 'firma_code';
            arrayType[i] = 'nem';
            arrayParams[i] = '';
            arrayErrorMessages[i] = '';
            i++;
        }
       
        if (register_field_require.tax_number){
            arrayId[i] = 'tax_number';
            arrayType[i] = 'nem';
            arrayParams[i] = '';
            arrayErrorMessages[i] = '';
            i++;
        }
    }

2. В файле шаблона com_jshopping/templates/default/user/register.php добавил строку к полю Наименование:
Код
<?php if ($config_fields['client_type']['display'] && $this->user->client_type!="2"){?>style="display:none;"<?php } ?>
получилось вот так:
Код
<?php if ($config_fields['firma_name']['display']){?>
        <tr id='tr_field_firma_name' <?php if ($config_fields['client_type']['display'] && $this->user->client_type!="2"){?>style="display:none;"<?php } ?>>
          <td class="name">
            <?php print _JSHOP_FIRMA_NAME ?> <?php if ($config_fields['firma_name']['require']){?><span>*</span><?php } ?>
          </td>
          <td>
            <input type = "text" name = "firma_name" id = "firma_name" value = "" class = "inputbox" />
          </td>
        </tr>
        <?php } ?>

Итог
Нифига не изменилось. Вообще.

Вопрос
Чего я не догоняю? Как сделать скрытие поля правильно?

Спасибо.

*

dmitry_stas

  • Профи
  • ********
  • 9667
  • 931
Цитировать
Итог
Нифига не изменилось. Вообще.
это в смысле абсолютно ничего? или все таки что то поменялось?

Цитировать
Вопрос
Чего я не догоняю? Как сделать скрытие поля правильно?
ну судя по коду скрытие вы сделали. если конечно смотрите там где редактировали. по идее вопрос у вас должен быть - как его теперь показать в нужный момент :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

iDrevniy

  • Осваиваюсь на форуме
  • ***
  • 31
  • 0
Как раз вопроса как показать не стоит. При выборе "Тип клиента" -> Фирма поля показываются, при выборе Физ. лицо скрываются. НО, только Код фирмы и Вид НДС. С полем которое я пытался скрыть (Наименование) ничего не произошло, вообще.

Естественно, я редактировал страницу регистрации и смотрю страницу регистрации.

*

dmitry_stas

  • Профи
  • ********
  • 9667
  • 931
С полем которое я пытался скрыть (Наименование) ничего не произошло, вообще.
Естественно, я редактировал страницу регистрации и смотрю страницу регистрации.
это для вас естественно. а по факту - сверхъестественно. если бы смотрели и редактировали одно и тоже - видели бы изменения. шаблон в настройках default? в папке шаблонов Joomla не переопределяется?

Как раз вопроса как показать не стоит.
ну это пока :) после того как таки скроете - станет
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

iDrevniy

  • Осваиваюсь на форуме
  • ***
  • 31
  • 0
Ну мне так и не удалось ничего сделать. Кто-нибудь может подсказать?

*

dmitry_stas

  • Профи
  • ********
  • 9667
  • 931
так вы ответьте сначала на вопросы:

шаблон в настройках default? в папке шаблонов Joomla не переопределяется?

при внесении других изменений в файл com_jshopping/templates/default/user/register.php визуальные изменения есть?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

iDrevniy

  • Осваиваюсь на форуме
  • ***
  • 31
  • 0
Конечно. Я отредактировал этот файл под свой шаблон. Не сильно, все группы полей регистрации остались как в дефолте. Именно поэтому у меня и возникает вопрос, почему при добавлении функции скрытия строки ничего не происходит. Я и кеш на всяк случай чистил.

*

iDrevniy

  • Осваиваюсь на форуме
  • ***
  • 31
  • 0
У нас с тобой тут междусабойчик такой образовался :)

*

dmitry_stas

  • Профи
  • ********
  • 9667
  • 931
Конечно.

тогда не вижу причин для неправильной работы. вы уверены, что все условия выполняются? например,

Код: php
 && $this->user->client_type!="2"

откуда взялось? его в базе нет. условие в шаблоне для например tr id='tr_field_firma_code'

Код: php
<?php if ($config_fields['client_type']['display']){?>style="display:none;"<?php }?>

вы уверены, что это добавленное вами условие выполняется при загрузке страницы?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

osobist

  • Осваиваюсь на форуме
  • ***
  • 118
  • 0
У нас с тобой тут междусабойчик такой образовался :)
у вас 3.15 стоит версия ? потому как в 4.9.2 там div  в register.php

*

nevigen

  • Moderator
  • *****
  • 8832
  • 754
  • http://n*****n.com
у вас 3.15 стоит версия ? потому как в 4.9.2 там div  в register.php
ща так долго сижу давлю внутрений голос который разрывается от смеха.
- Цитата: iDrevniy от 21.02.2014, 10:16:39
- потому как в 4.9.2 там div

вы смотрите на даты ?
особено той версии на которую ссылаетесь :)
там в конце раздела есть темы 2013 года, тоже мона что то  найти для ответа :)

сори неудержался... просто реально расмешило.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

*

Biss

  • Завсегдатай
  • *****
  • 760
  • 79
Тема как и автор - iDrevniy
ничего личного :)
А вдруг всё это время ждал ответа. Свершилось