Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Добавление новых полей в форму регистрации (http://forum.typo3.ru/showthread.php?t=6600)

Fearless Goblin 30.07.2008 21:14

Добавление новых полей в форму регистрации
 
Всем добрый день.
В форме регистрации требуется добавить чекбокс, при отметке которого пользователь согашается с правилами и т.д.

Делал всё так точно, как написано в этом руководстве: http://wiki.typo3.org/index.php/Addi...istration_form
1. С помощью kickstarter-а создал расширение, которое добавляет в fe_users поле tx_lvregisterupdate_agree tinyint(3) DEFAULT '0' NOT NULL так, как описано здесь: http://wiki.typo3.org/index.php/Extending_typo3_tables
2. В шаблоне формы в части ###TEMPLATE_CREATE### вставил следующее:
Код HTML:

        <!-- ###SUB_INCLUDED_FIELD_agree### -->
        <dt>
                <label for="tx-srfeuserregister-pi1-agree"><span class="attention">###LABEL_AGREE###</span> ###REQUIRED_AGREE###</label>
        </dt>
        <dd>
                <!-- ###SUB_ERROR_FIELD_agree### -->
                <p class="tx-srfeuserregister-pi1-error">###EVAL_ERROR_FIELD_agree###</p>
                <!-- ###SUB_ERROR_FIELD_agree### -->
                <!-- ###SUB_REQUIRED_FIELD_agree### -->
                <p class="tx-srfeuserregister-pi1-error">###MISSING_AGREE###</p>
                <!-- ###SUB_REQUIRED_FIELD_agree### -->
                ###TCA_INPUT_agree###
        </dd>
        <!-- ###SUB_INCLUDED_FIELD_agree### -->

3. В plugin.tx_srfeuserregister_pi1.formFields и plugin.tx_srfeuserregister_pi1.requiredFields добавил agree.
4. В Setup шаблона прописал:
Код:

plugin.tx_srfeuserregister_pi1.create.evalValues.agree =
plugin.tx_srfeuserregister_pi1._LOCAL_LANG.default.agree = I agree all terms.
plugin.tx_srfeuserregister_pi1._LOCAL_LANG.default.missing_agree = You should agree the terms!

Но в итоге на страничке регистрации вместо ожидаемого вижу:
###LABEL_AGREE###
###REQUIRED_AGREE###
###MISSING_AGREE###
###TCA_INPUT_agree###

В чём может быть проблема?

Fearless Goblin 30.07.2008 21:47

Проблема решена.
Я не учёл тот факт, что кикстартер создаёт поле с именем tx_lvregisterupdate_agree, потому ничего и не работало. Мой промах.
Исправил - теперь всё в порядке :)

R.E.S.T.Art 24.06.2010 20:19

Проблема...
 
Всем доброго времени суток!
Возникла необходимость добавить "свои" поля при регистрации пользователя. Целый день воюю - никак победить не получается. Все делаю в соответствии с руководствами, указанными в первом посте по данной теме.
Что сделал:
1) Создал своё расширение, которое добавило новые поля в таблицу fe_users.
2) Установил созданное расширение.
3) В шаблоне формы в части ###TEMPLATE_CREATE### вставил следующее:
Код HTML:

<!-- ###SUB_INCLUDED_FIELD_tx_feusersfieldsforpromo_operational_exp### -->
        <dt>
                <label for="tx-srfeuserregister-pi1-tx_feusersfieldsforpromo_operational_exp">###LABEL_tx_feusersfieldsforpromo_operational_exp###</label>
                <span class="tx-srfeuserregister-pi1-required">###REQUIRED_tx_feusersfieldsforpromo_operational_exp###</span>
        </dt>
        <dd>
                <!-- ###SUB_ERROR_FIELD_tx_feusersfieldsforpromo_operational_exp### -->
                <p class="tx-srfeuserregister-pi1-error">###EVAL_ERROR_FIELD_tx_feusersfieldsforpromo_operational_exp###</p>
                <!-- ###SUB_ERROR_FIELD_tx_feusersfieldsforpromo_operational_exp### -->
                <!-- ###SUB_REQUIRED_FIELD_tx_feusersfieldsforpromo_operational_exp### -->
                <p class="tx-srfeuserregister-pi1-error">###MISSING_tx_feusersfieldsforpromo_operational_exp###</p>
                <!-- ###SUB_REQUIRED_FIELD_tx_feusersfieldsforpromo_operational_exp### -->
                ###TCA_INPUT_tx_feusersfieldsforpromo_operational_exp###
        </dd>
        <!-- ###SUB_INCLUDED_FIELD_tx_feusersfieldsforpromo_operational_exp### >

где tx_feusersfieldsforpromo_operational_exp - поле добавленное к fe_users.

4) Добавил следующий TS в setup шаблона:
Код:

plugin.tx_srfeuserregister_pi1.create.evalValues.tx_feusersfieldsforpromo_operational_exp =
plugin.tx_srfeuserregister_pi1._LOCAL_LANG.default.tx_feusersfieldsforpromo_operational_exp = Опыт работы
plugin.tx_srfeuserregister_pi1._LOCAL_LANG.default.missing_tx_feusersfieldsforpromo_operational_exp = Не указан опыт работы
plugin.tx_srfeuserregister_pi1._LOCAL_LANG.default.missing_invitation_tx_feusersfieldsforpromo_operational_exp = Не указан опыт работы
plugin.tx_srfeuserregister_pi1._LOCAL_LANG.default.evalErrors_evalRuleName_tx_feusersfieldsforpromo_operational_exp = Неверный формат опыта работы

5) В папке с, созданным мною, расширением файла ext_localconf.php не оказалось, поэтому поступил как рекомендуется в руководстве - создал его. Содержимое файла (кодировка utf-8):
Код:

<?php
if (TYPO3_MODE=='FE')        {
        $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_feuser_register']['extendingTCA'][] = 'fe_users_fields_for_promo';
}
?>

6) Добавил поле tx_feusersfieldsforpromo_operational_exp (в formFields) в список полей формы.

В результате в форме регистрации нового пользователя:
Код HTML:

<!-- ###SUB_INCLUDED_FIELD_tx_feusersfieldsforpromo_operational_exp### -->
        <dt>
                <label for="tx-srfeuserregister-pi1-tx_feusersfieldsforpromo_operational_exp">###LABEL_tx_feusersfieldsforpromo_operational_exp###</label>
                <span class="tx-srfeuserregister-pi1-required">###REQUIRED_tx_feusersfieldsforpromo_operational_exp###</span>
        </dt>
        <dd>
               
               
                ###TCA_INPUT_tx_feusersfieldsforpromo_operational_exp###
        </dd>
        <!-- ###SUB_INCLUDED_FIELD_tx_feusersfieldsforpromo_operational_exp### >

Попробовал добавить тестовое echo в файл ext_localconf.php, чтобы убедиться, что он инклудится. Оказалось - не инклудится - тестовы текст не был обнаружен в коде страницы.
Прошу Вашей помощи.
Заранее благодарен.

R.E.S.T.Art 25.06.2010 19:17

разобрался со всем - проблема не решалась из-за кэша, в котором сохранилось старое значение

greysells 09.07.2010 10:55

R.E.S.T.Art подскажите пожалуйста подробнее, что нужно делать в Ваших пунктах 5 и 6 -ом. Буду очень признателен.


Часовой пояс GMT +4, время: 12:01.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot