[Mod] Дополнительная форма на базе формы обратной связи Webasyst -v3

Valeras

Постоялец
Регистрация
23 Апр 2007
Сообщения
112
Реакции
40
Возникла необходимость добавления дополнительной формы, чтобы она выглядела и работала как форма обратной связи(модуль feedback), т.е. по аналогии, но с дополнительными полями. :tut:

Пример использования:


1. У нас есть статья с формой со всеми обязательными полями и капча.
Обзовем модуль consultant по аналогии с feedback. Соответственно обработчик модуля будет по адресу:
а) С ЧПУ - ваш_сайт/consultant/
б) Без ЧПУ - ваш_сайт/index.php?ukey=consultant

2. Добавляем шаблон модуля /published/SC/html/scripts/tamplates/fronted/consultant.tpl.html В шаблоне указываем поля именуем их.

3. Добавляем файл обработчика модуля /published/SC/html/scripts/modules/consultant/class.consultant.php и файл регистрации модуля /published/SC/html/scripts/modules/consultant/connector.consultant.xml в новую папку модуля consultant (по аналогии с feedback)

4. В файле регистрации модуля (/published/SC/html/scripts/modules/consultant/connector.consultant.xml) корректируем данные под модуль "сonsultant":
PHP:
<Connector>
    <Class>
        <Name>consultant</Name>
        <File>class.consultant.php</File>
        <Title>Регистрация консультанта</Title>
        <Description></Description>
        <SingleInstallation>true</SingleInstallation>
    </Class>
</Connector>

5. Корректируем класс модуля ( /published/SC/html/scripts/modules/consultant/class.consultant.php) согласно наших полей указанных в шаблоне:

а) Приход и фильтрация данных.
б) Валидация полученных данных.
в) В случае неуспеха:
- отправка сообщения об ошибке;
г) В случае успеха:
- отправка данных на ящик администратора;
- оправка сообщения во фронт(пользователю).

В итоге получаем еще один модуль по аналогии модуля feedback с нужным нам количеством полей.

Исходники модуля "consultant":

 
Благодарю за модуль! Интересное решение. Я свой делал на для запроса на скидку к праздничному дню - из стандартной формы "запроса в службу поддержки".
 
я так понял можно прописывать любые значения?
 
что то не работает( хотя странно все сделал как написано,
пишет Извините, запрашиваемый документ не был найден на сервере: /consultant/
 
что то не работает( хотя странно все сделал как написано,
пишет Извините, запрашиваемый документ не был найден на сервере: /consultant/

Я писал давно этот пост, но на вскидку, по памяти, могу сказать, что здесь не достает одного пункта. Этот пункт связан с регистрацией модуля в базе данных webasyst.

В таблице SC_modules:
ModuleID
35(свой ID)
sc_modules.jpg


В таблице SC_module_configs:
ModuleID
35 (ModuleID табл. SC_modules)
sc_module_configs.jpg


В таблице SC_interface_interfaces:
xInterfaceCalled
57_consultant (ModuleConfigID_name табл. SC_module_configs)
sc_interface_intefaces.jpg


В таблице SC_divisions
xID
254(свой ID)
sc_divisions.jpg

В таблице SC_division_interface:
xDivisionID
254 (xID табл. SC_divisions)
xInterface
57_consultant (табл. SC_module_configs)
sc_division_interface.jpg



Похоже что все. Как я всегда утверждал и утверждаю "Webasyst - система написана человеком и для человека! Апpиоpи - всегда с человеческим лицом к pазpаботчику!". А по сeму - "Пилитe Шуpа, пилитe!".;)
 
Последнее редактирование:
Назад
Сверху