Копия локального репозитория с файлами компонента "Отзывы" на Biitrix CMS
Как реализовывалась задача
-
Для создания страницы "Отзывы о магазине" было принято решение кастомизировать часть стандартного комплексного компонента "Новости" платофрмы Bitrix - решение для электронной коммерции.
-
Кроме этого была создана новая страница отзывов "корень/otzyvy-o-magazine.php" и её приявязка к меню тестового магазина в файле "корень/.left.menu.php". На странице отзывов была непосредственно размещена вёрстка формы, её код обработчик, код вывода кастомизированного компонента и код налаживающий взаимодействие Google reCAPTCHA в связке серевер - сайт.
-
Почти все изменения фиксировались в GIT, в ходе работы была создана новая ветка "Working". Задача решалась поэтапно, в несколько дней. Конечный вариант компонета оформил и зафиксировал в GIT 03.05.2018. Написать компонент с нуля - не удалось, так как я недостаточно знаком с платформой bitrix в целом, множество проблем возникло из - за обработки ID элементов отдельно взятых отзывов в коде компонента (я попросту не понял как они обрабатываются правильно).
Ход работы
-
Развернул Bitrix CMS - решение для электронной коммерции локально.
-
Создал новый GIT репозиторий, прописал некоторые настройки в .gitconfig и указал файлы на исключения в .gitignore
-
Добавил в индексацию новые файлы .left.menu.php и otzyvy-o-magazine.php Сделал коммит на ветке master
-
Создал ветку Working - рабочая, где фиксировались все изменения и которая в дальнейшем будем смержена с master.
-
Приступил к катомизации компонента
-
в файле корень\bitrix\components\custom.description.php пропсал описание компонента. Языковые переменны для значений размещены в одноимённом файле по пути корень\bitrix\components\custom\lang\ru.description.php. В папке help корень\bitrix\components\custom\lang\ru\help - файл .tooltips.php - дефолтный файл компонента "Новости", его оставил без изменений.
-
В файле .parameters.php по пути корень\bitrix\components\custom.parameters.php основные параметры компонента. Это файл был кастомизирован. Языковые переменные для значений парметров используемых в этом файле по аналогии расположены по аналогии с .description.php
-
Вывод параметров происходит в файле корень\bitrix\components\custom\component.php Он также был кастомизирован.
-
Файл корень\bitrix\components\custom\newstools.php - дефолтный файл компонента "Новости". Он служит для подсказок в административной части сайта, остался без изменений.
-
Выводим компонент и его параметры в шаблон в файле корень\bitrix\components\custom\templates.default\bitrix\news.index.default\template.php Так как изначально это компонет новостей в папке templates выодиться множество его стандартынх компонентов в разных файлах. Однако, основные параметры компонета выводятся всё же в template.php
-
В файле корень/otzyvy-o-magazine.php выводим кастомизированный компонент, форму, код интегратор Google reCAPTCHA и код обработчик формы
-
Далее последовал мерж веток Working и master
КАК ВСЁ РАБОТАЕТ
-
Работа компонена регулируется происходит при помощи инфоблока. Для того чтобы увидеть всё наглядно, необходимо в администритивной части сайта в разделе "Типы инфоблоков" добавит любой новый тип инфоблоков. Далее находим созданный нами тип инфоблоков и уже в нём добавляеи нужный нам инфоблок "Отзывы", указываем ему настройки, название и сайт где он будет распологатся. Во вкладке доступы, нужно разрешить доступ на чтение всем пользователям.
-
Протестировать работу страницы/отправить тестовый отзыв. Если всё же тест не удался, то возможно указан не верно ID инфоблока в файле корень/otzyvy-o-magazine.php в строке 94. Устновите в этой строке значение своего инфоблока, протестируйте компонент.