8 800 500-47-11
8 800 500-47-11
Отдел продаж
База знаний
  • Все решения
  • Интернет-магазины
    • Аспро: Премьер
    • Аспро: Лайтшоп
    • Аспро: Максимум
    • Аспро: Шины и диски 2.0
    • Аспро: Next
    • Аспро: Оптимус
    • Аспро: Шины и диски, интернет-магазин
    • Аспро: Маркет
    • Аспро: Интернет-магазин
    • Аспро: Крутой шоп
  • Корпоративные сайты
    • Аспро: Приорити 2.0
    • Аспро: Корпоративный сайт 3.0
    • Аспро: Корпоративный сайт 2.0
    • Аспро: Стройка 2.0
    • Аспро: Инжиниринг
    • Аспро: Металл
    • Аспро: Digital 2.0
    • Аспро: Детский сад и образовательный центр
    • Аспро: Курорт 2.0
    • Аспро: Ландшафт 2.0
    • Аспро: Автосервис
    • Аспро: Медицинский центр 3.0
    • Аспро: Ландшафт
    • Аспро: Медицинский центр 2.0
    • Аспро: Курорт
    • Аспро: Стройка
    • Аспро: Сайт медицинского центра
    • Аспро: Корпорация
    • Аспро: Корпоративный сайт
    • Аспро: Корпоративный сайт современной компании
    • Аспро: Приорити
    • Аспро: Digital
  • Модули
    • Аспро: Привязка ответственного
    • Аспро: Шинный калькулятор
    • Аспро: Кредитный калькулятор
    • Аспро: Универсальный импорт
  • 1С-Битрикс
    • Общее

Настройка скрипта для создания веб-форм

ID статьи: 429 , создана 14 янв 2022
Актуально для:
Скрипт позволяет создавать стандартные формы обратной связи на веб-формах без запуска установщика. Для корпоративный сайтов скрипт полезен в случае перехода с редакции 1С-Битрикс: Старт на Стандарт. Для интернет-магазинов скрипт нужен, если на момент установки решения не был установлен модуль «Веб-формы».

Решение
Внимание! Перед началом работ создайте резервную копию сайта – на случай, если что-то пойдет не так.

Для правильной работы скрипта потребуется установленный модуль «Веб-формы».

Необходимо доставить формы, чтобы не создавать их вручную, и адаптировать скрипты, которые находятся в установочных файлах модуля. Рассмотрим настройку на примере решения Аспро: Максимум.

1. Скопируйте папку /bitrix/modules/aspro.max/install/wizards/aspro/max/site/services/form в корень сайта. Назовите ее, например, /form_test/.

2. Выделенные на картинке ниже файлы необходимо модифицировать.


3. Для начала рассмотрим файл feedback.php.


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

require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

CModule::IncludeModule('form');
define("WIZARD_TEMPLATE_ID", "aspro_max"); //ID шаблона. Вместо выделенного синим цветом кода пропишите символьный код вашего решения.
define("WIZARD_SITE_ID", "kp"); //ID сайта. Вместо выделенного синим цветом кода пропишите id вашего сайта. Посмотреть его можно в админке, если перейти по пути: Настройки → Настройки продукта → Сайты → Список сайтов.
define("WIZARD_SITE_PATH",$_SERVER["DOCUMENT_ROOT"]."/"); //корень сайта. Если сайт установлен в подпапку, то вместо знака "/" нужно указать путь до него. Например: /en/.
$bitrixTemplateDir = $_SERVER["DOCUMENT_ROOT"]."/bitrix/templates/".WIZARD_TEMPLATE_ID; //путь к шаблону
require_once( __DIR__."/lang/ru/forms.php"); // подключаем языковые файлы вместо WizardServices::IncludeServiceLang("forms.php", $lang);

Комментируйте все, что связано с CWizardUtil. Для этого в начало строки с этим кодом пропишите двойной слеш — "//".

//CWizardUtil::ReplaceMacros($bitrixTemplateDir."/header.php", array("FEEDBACK_FORM_ID" => $form_id));
//CWizardUtil::ReplaceMacrosRecursive(WIZARD_SITE_PATH, array("FORM_FEEDBACK_ID" => $form_id));

Также в конце можно вывести ID формы, чтобы удостовериться, что скрипт все создал корректно.

echo $form_id;

4. Запустите /form_test/feedback.php. Для этого в адресную строку вбейте путь адрес_сайта/form_test/feedback.php и перейдите по нему. Если все сработало корректно, отобразится ID формы. Точно также запустите другие файлы PHP.

5. Удалите папку /form_test/.