27  /  37

Публичная часть

Просмотров: 3753 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 22.09.2015

При создании мастера с использованием файла wizard.php публичная часть обычно располагается в каталоге /site/public/ID языка/. Такое расположение позволяет достаточно быстро ее найти, а так же не заботиться о кодировках.

Есть варианты, когда решение содержит сразу несколько вариантов устанавливаемого сайта с частично разной структурой и демо-данными. Например, в решении «Официальный сайт государственной организации» существует 8 видов сайта, от управления ЗАГС, до сайта правительства области. В этом случае можно поступить следующим образом:

  • Внутри каталога /site/public/ID языка/ создается каталог /common, содержащий общие для всех файлы (картинки, видео, общие разделы и т.п.).
  • Для каждого вида сайта создается свой каталог с заранее определенным названием, позволяющим однозначно отнести его к одному из типов сайта. Например, это ID типа сайта, запоминаемый на соответствующем шаге установки.
  • Отдельно выносится папка /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, в котором и производить замену макросов.

Внимание! В публичной части для решений Bitrix Marketplace не должно содержаться системных файлов и каталогов, которые могут переписать уже существующие у клиента ( /upload/, urlrewrite.php, шаблон .default и т.п.).

В самостоятельных решениях это допускается, но тоже не желательно.

7
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии