[Мод] Дополнительная форма (заказа) на базе формы обратной связи DLE 9.х

Тема в разделе "DataLife Engine", создана пользователем gvityan, 29 окт 2012.

  1. gvityan

    gvityan

    Регистрация:
    29 окт 2012
    Сообщения:
    39
    Симпатии:
    6
    Автор:: Valeras

    Итак, форма заказа под названием order или модуль order.

    1. Нам нужен шаблон по аналогии с feedback.tpl, это order.tpl в общей папке Вашего шаблона. Туда его добавляем.
    2. Нам нужно исполнение нового модуля прописываем в файле.

    /engine/engine.php

    Найти:
    PHP:
    case "alltags" :
        include_once 
    ENGINE_DIR '/modules/tagscloud.php';
        break;
    После вставить:


    PHP:
    case "order" :
            include_once 
    ENGINE_DIR '/modules/order.php';
        break;
    3. После того как указали обработчик копируем с переименованием файл engine/modules/feedback.php в engine/modules/order.php

    4. Производим корректировку файла engine/modules/order.php в зависимости от ваших полей, которые необходимы в форме. У меня удалена проверка капчи по сравнению с модулем engine/modules/feedback.php.
    Как вариант ответ на вопрос: "Как избавиться от капчи в форме обратной связи?".
    Изменения можно увидеть в сравнив оба файла engine/modules/feedback.php и engine/modules/order.php (исходники предоставлены внизу поста).

    5. Но это еще не все, наша форма заказа работает как обычная форма с перезагрузкой страницы, но это уже не "наш метод". Применяем технологию AJAX как она была использована в модуле обратной связи по умолчанию.

    Для этого нам необходим AJAX обработчик который находится engine/ajax/order.php. Берем обработчик engine/ajax/feedback.php с переименованием файл engine/ajax/order.php. Производим корректировку engine/ajax/order.php в большей части это копирование и вставка из обработчика engine/modules/order.php.
    Изменения можно увидеть, сравнив оба файла engine/ajax/feedback.php и engine/ajax/order.php (исходники предоставлены внизу поста).


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

    http://ваш_сайт/index.php?do=order

    Исходники: