создать дополнение, плагин или что-то такое
Вопрос вот какой, задачу я решил. Внёс правки, создал классы, переводы, логику. Всё это прям в движке, хотелось бы все это оформить в виде дополнения, чтобы при обновлениях версии не затиралось. Подскажите, возможно это или готовиться к регулярным обновлениям сделанных изменений.
С движком только знакомлюсь, по этому все внутренней кухни ещё не разобрал.
Попробуйте смочь. Это возможно 100%Штатными средствами решить не смог
Если "ткнёте пальцем" скажу спасибо. Поиск ничего не выдал. куча тем как в коде отобразить поле того же "телефона", которое не обязательное при регистрации. Задача стоит, пусть не заполняется, но должно присутствовать на форме регистрации. Искал долго, не нашел ни расширения чисто под эту фичу, ни решения как это штатно сделать, существующие типы крутил вертел по разному. Может до 2.11.0 это работало, как это сделать в этой версии из коробки я не нашел.
Попробуйте смочь. Это возможно 100%Штатными средствами решить не смог
Но это не очень логично на самом деле. Не очень корректно.
Вы уж определитесь — ОБЯЗАТЕЛЬНОЕ ли поле, так ли оно важно для регистрации, смогут/захотят ли его заполнить ВСЕ пользователи?
И если да — то смело ставьте его в обязательные в настройках пользователей.
Если нет, то лучше перебрасывать пользователя после непосредственно регистрации на страницу настроек профиля. Т.е. имя он указал, почту и пароль тоже, а дальше пусть заполняет что хочет. За счет того, что автоматически перебрасывает на эту страницу, многие заполнят. Ну а если человек принципиально не хочет телефон светить — он его в любом случае не напишет.
Достаточно убрать галку "Показывать в профиле" с поля "Телефон".Насколько я смог понять, нужно чтобы поля были, когда непосредственно жмешь Регистрацию и попадаешь на эту страницу?
Тогда оно будет доступно только при редактировании (если разрешить юзеру доступ для изменения).
Да, надо именно на странице регистрации отобразить. Да, не совсем логично, такое требование заказчика. Карточка достаточно обширная при регистрации и много данных.
Насколько я смог понять, нужно чтобы поля были, когда непосредственно жмешь Регистрацию и попадаешь на эту страницу?
Но это не очень логично на самом деле. Не очень корректно.
Вы уж определитесь — ОБЯЗАТЕЛЬНОЕ ли поле, так ли оно важно для регистрации, смогут/захотят ли его заполнить ВСЕ пользователи?
И если да — то смело ставьте его в обязательные в настройках пользователей.
Если нет, то лучше перебрасывать пользователя после непосредственно регистрации на страницу настроек профиля. Т.е. имя он указал, почту и пароль тоже, а дальше пусть заполняет что хочет. За счет того, что автоматически перебрасывает на эту страницу, многие заполнят. Ну а если человек принципиально не хочет телефон светить — он его в любом случае не напишет.
Вот как раз, потому что не все захотят не все смогут, часть полей идет на потом, если человек может, чтобы сразу все вбил. Тут думаю после первой волны регистраций будет понятно, все ли поля обязательные выживут.
По этому и хочу вынести этот функционал в модуль, это редкий кейс и мало кому нужна эта галочка отобразить поле.😊Просто получается повышение гибкости настроек отображения.
Теперь понял. Нужно, чтобы поле было именно на первой странице регистрации? но не было обязательным?
Тогда достаточно дописать семь строк в файл \system\controllers\auth\forms\form_registration.php
<?php class formAuthRegistration extends cmsForm { public function init() { 'type' => 'fieldset', 'title' => LANG_EMAIL, ) )), 'title' => LANG_PHONE, ) )), 'title' => LANG_PASSWORD, 'is_password' => true, 'min_length'=> 6 ), ) )), 'title' => LANG_RETYPE_PASSWORD, 'is_password' => true, 'min_length'=> 6 ), ) )) ) ) ); } }
Чтобы это было в виде дополнения достаточно его оформить в виде дополнения:правки, создал классы, переводы, логику.
/users/files/download7072.html
Цель всё же немного иная, чем просто в виде дополнения, а именноЧтобы это было в виде дополнения достаточно его оформить в виде дополнения
Для этого надо использовать хуки. В двойке есть хуки которые позволяют получить и изменить содержимое всех форм движка.чтобы при обновлениях версии не затиралось
Для формы регистрации этот хук будет называться form_auth_registration. Но для его объявления системе нужна запись в файле манифеста. Поэтому для этого нужен свой компонент, в котором будете вносить эти изменения. Только в этом случае ничего не слетит при обновлении.
Я бы поговорил с заказчиком. Зависит конечно от проекта, но все же в любом случае много полей при регистрации — это плохо.
Какая-то часть может и передумать регистрироваться.
Я вот по себе знаю: заходишь на любой современный известный сайт — и там только несколько полей требуют, например, почта и пароль, телефон и пароль, иногда даже тупо один только телефон/почта/аккаунт в соцсетях. Просто и быстро. И есть некоторое удивление, когда попадаешь на какой-нибудь форум/сайт/магазин, где выкатывают целую портянку для заполнения. Даже если некоторые поля необязательны — все равно напрягает.
Вопрос — зачем вам телефон, отсюда и надо танцевать.
На данный момент, проще оказалось впилить изменение, чем переубедить заказчика.
@Sin13,
Я бы поговорил с заказчиком. Зависит конечно от проекта, но все же в любом случае много полей при регистрации — это плохо.
Какая-то часть может и передумать регистрироваться.
Я вот по себе знаю: заходишь на любой современный известный сайт — и там только несколько полей требуют, например, почта и пароль, телефон и пароль, иногда даже тупо один только телефон/почта/аккаунт в соцсетях. Просто и быстро. И есть некоторое удивление, когда попадаешь на какой-нибудь форум/сайт/магазин, где выкатывают целую портянку для заполнения. Даже если некоторые поля необязательны — все равно напрягает.
Вопрос — зачем вам телефон, отсюда и надо танцевать.
Телефон, как пример, поля не по умолчанию, которое есть из коробки :). Зачем мне описывать все поля свои. Про портянку согласен, но на данный момент на стадии регистрации надо предоставить возможность сообщить о себе информацию, по которой потом будут формироваться группы, назовем их "по интересам". Минимальная форма, даст мне головняк в виде большой серой массы, которую надо будет потом как-то на основе чего распределять, заставлять как-то заполнять профиль. Необязательные поля, как раз для того чтобы получить массив вариация, на данный момент неопределенных значений, потом их можно будет причесать и выдать уже списком. обязательных значений.
Цель всё же немного иная, чем просто в виде дополнения, а именноЧтобы это было в виде дополнения достаточно его оформить в виде дополнения
Для этого надо использовать хуки. В двойке есть хуки которые позволяют получить и изменить содержимое всех форм движка.чтобы при обновлениях версии не затиралось
Для формы регистрации этот хук будет называться form_auth_registration. Но для его объявления системе нужна запись в файле манифеста. Поэтому для этого нужен свой компонент, в котором будете вносить эти изменения. Только в этом случае ничего не слетит при обновлении.
Спасибо, посмотрю в сторону хуки, кажется это единственный вариант для меня. Да и полей много разных и каждое руками вносить, это не наш метод.😊Будет эффект автобуса, зачем мне головняк этот. Пусть модераторы после сдачи имеют возможность управлять полями.
@Sin13,
Теперь понял. Нужно, чтобы поле было именно на первой странице регистрации? но не было обязательным?
Тогда достаточно дописать семь строк в файл \system\controllers\auth\forms\form_registration.php
Спасибо, за файлик. попробую разобраться что к чему, хочется все же независимое решение сделать, кто знает как проект дальше будет жить. может и не нужен будет этот "хак".
Писали бы конкретнеебудут формироваться группы, назовем их "по интересам". Минимальная форма, даст мне головняк в виде большой серой массы, которую надо будет потом как-то на основе чего распределять, заставлять как-то заполнять профиль
У меня тоже есть что-то подобное, типа профессия, ну то есть получается что все пользователи как-то распределяются по группам. Я сделал обязательное поле, чтобы они сразу определялись. Но и дал возможность регистрироваться просто как "посетитель". Можно выбирать несколько профессий, можно потом изменять. Но поле обязательное, т.к. оно важно.
Вопросик как в последней версии инстанта. Добавить пункт (поле) в регистрацию по системному имени.
Пример есть поле (например телефон) (Системное имя "Phone") как его вывести в страницы регистрации-авторизации.
Спасибо.