Дата последнего изменения: 16.02.2023
При создании мастера с использованием файла wizard.php публичная часть обычно располагается в каталоге /site/public/ID языка/
. Такое расположение позволяет достаточно быстро ее найти, а также не заботиться о кодировках.
Есть варианты, когда решение содержит сразу несколько вариантов устанавливаемого сайта с частично разной структурой и демо-данными. Например, в решении С 1 февраля 2023 года продажа данного решения прекращена. «Официальный сайт государственной организации» существует 8 видов сайта, от управления ЗАГС, до сайта правительства области. В этом случае можно поступить следующим образом:
/site/public/ID языка/
создается каталог /common
, содержащий общие для всех файлы (картинки, видео, общие разделы и т.п.)./bitrix
с дополнительными файлами, копируемыми в ядро (.default шаблон и т.п.). Эта папка не должна содержать файлов, заменяющих стандартные файлы ядра. Копирование следует делать без перезаписи файлов.В идеале публичная часть не должна содержать никакой логики сайта, только вызовы компонентов с соответствующими шаблонами. Иначе высок риск, что пользователь нарушит работу таких страниц.
Если используются ссылки, ведущие от корня сайта (например, ссылка /about/contacts.php)
, то первый слеш должен заменяться макросом, например, #SITE_DIR#
. Это правило обязательно должно соблюдаться для решений, поддерживающих многосайтовость. Решения для Bitrix Marketplace должны поддерживать многосайтовость по умолчанию.
Все прямые ссылки на ID инфоблоков (например, 'IBLOCK_ID' => 16
при вызове компонента) также должны заменяться макросами. Обычно макрос пишется по названию инфоблока с приставкой IBLOCK_ID ('IBLOCK_ID' => #MY_IBLOCK_ID#
).
Таким же образом должны заменяться все ссылки на то, что может измениться в процессе установки решения (ID форумов, блогов, ID свойств инфоблоков, ID значений свойств типа «список», и т.п.).
Макросы заменяются на этапе установки сервисов.
Если предполагается использовать два варианта главной страницы (например, выбор между главной на основе компонентов и на основе гаджетов), то лучше создать несколько файлов index.php и при установке копировать нужный в корневую папку сайта с именем _index.php, в котором и производить замену макросов.
В самостоятельных решениях это допускается, но тоже не желательно.