Форум русской поддержки Joomla!® CMS
07.12.2016, 22:19:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 674 раз)
0 Пользователей и 1 Гость смотрят эту тему.
iDrevniy
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 31


« : 19.02.2014, 16:49:52 »

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

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

Как пытался реализовать
Начал со страницы регистрации.
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
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7773



« Ответ #1 : 19.02.2014, 17:02:08 »

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

Цитировать
Вопрос
Чего я не догоняю? Как сделать скрытие поля правильно?
ну судя по коду скрытие вы сделали. если конечно смотрите там где редактировали. по идее вопрос у вас должен быть - как его теперь показать в нужный момент Azn
Записан
iDrevniy
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 31


« Ответ #2 : 19.02.2014, 17:06:11 »

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

Естественно, я редактировал страницу регистрации и смотрю страницу регистрации.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7773



« Ответ #3 : 19.02.2014, 17:22:18 »

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

Как раз вопроса как показать не стоит.
ну это пока Azn после того как таки скроете - станет
Записан
iDrevniy
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 31


« Ответ #4 : 21.02.2014, 00:31:42 »

Ну мне так и не удалось ничего сделать. Кто-нибудь может подсказать?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7773



« Ответ #5 : 21.02.2014, 09:30:20 »

так вы ответьте сначала на вопросы:

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

при внесении других изменений в файл com_jshopping/templates/default/user/register.php визуальные изменения есть?
Записан
iDrevniy
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 31


« Ответ #6 : 21.02.2014, 10:15:25 »

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

Репутация: +0/-0
Offline Offline

Сообщений: 31


« Ответ #7 : 21.02.2014, 10:16:39 »

У нас с тобой тут междусабойчик такой образовался Azn
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7773



« Ответ #8 : 21.02.2014, 12:05:22 »

Конечно.

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

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

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

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

вы уверены, что это добавленное вами условие выполняется при загрузке страницы?
Записан
osobist
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 118


« Ответ #9 : 16.03.2015, 22:02:59 »

У нас с тобой тут междусабойчик такой образовался Azn
у вас 3.15 стоит версия ? потому как в 4.9.2 там div  в register.php
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8808


http://n*****n.com


« Ответ #10 : 16.03.2015, 22:05:31 »

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

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

сори неудержался... просто реально расмешило.
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 661



« Ответ #11 : 17.03.2015, 13:05:13 »

Тема как и автор - iDrevniy
ничего личного Azn
А вдруг всё это время ждал ответа. Свершилось
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet