Обучаю битриксу программистов, интеграторов. Подробнee ⇒

Скрипт для создания форм Аспро Максимум



У клиента коробочный битрикс24. Модуль веб-форм не был установлен, развернули на нем интернет-магазин с шаблонным решением Аспро Максимум, настроили и обнаружили, что кнопки вызова форм НЕ РАБОТАЮТ (потому что форм нет).
Более того, в админке предлагается подключить формы Битрикс24, но если нет веб-форм, то НЕ предлагается, раздел "Формы" в настройках Аспро пустой.
Решение.
Доставить формы, чтобы не делать это вручную (а еще создавать события отправки писем по заполнению данных форм), адаптировала скрипты, которые находятся в установочных файлах модуля.

1. копируем ВСЮ папку /bitrix/modules/aspro.max/install/wizards/aspro/max/site/services/form, например, в корень (можно переименовывать). У меня /form_test_nika/
2. Выделенные файлы В НАШЕЙ папке будем модифицировать.


3. рассмотрим 1 файл, например, feedback.php, все остальные также





в модуле аспро константы задаются модулем, необходимо их вручную переписать, а также подключить языковые файлы
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

define(WIZARD_TEMPLATE_ID, "aspro_max"); //ID шаблона
define(WIZARD_SITE_ID, "kp"); //ID сайта
define(WIZARD_SITE_PATH,$_SERVER["DOCUMENT_ROOT"]."/"); //корень сайта
$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_nika/feedback.php и потом остальные

5. Удаляем папку /form_test_nika/
Важно!
Если у Вас не работает данное решение, и Вы решились обратиться ко мне, то отправьте мне в телегу (там оперативнее отвечаю) скрипт ваш, а также выведите в нем
  • WIZARD_TEMPLATE_ID
  • WIZARD_SITE_ID
  • WIZARD_SITE_PATH
  • $arSite
  • $bitrixTemplateDir


для сайтов Аспро Корп 3



добавляем
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

define(WIZARD_TEMPLATE_ID, "aspro-allcorp3"); //ID шаблона
define(WIZARD_SITE_ID, "c1"); //ID сайта
define(WIZARD_SITE_PATH,$_SERVER["DOCUMENT_ROOT"]."/"); //корень сайта
$bitrixTemplateDir = $_SERVER["DOCUMENT_ROOT"]."/bitrix/templates/".WIZARD_TEMPLATE_ID; //путь к шаблону
require_once( __DIR__."/lang/ru/forms.php"); // подключаем языковые файлы вместо WizardServices::IncludeServiceLang("forms.php", $lang);

комментируем
//WizardServices::IncludeServiceLang("forms.php", $lang); 
//CWizardUtil::ReplaceMacros($bitrixTemplateDir."/header.php", array("CALLBACK_FORM_ID" => $form_id));
и заменяем $wizard->GetVar("siteEmail") на ваш email, потом можно в настройках изменить
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!