Не считаем наших читателей ламерами в PHP
Идиомы программирования
Модуль - это модель данных и API для доступа к этим данным. Статические методы классов модуля могут вызываться в компонентах, шаблонах, других модулях. Также внутри контекста Bitrix Framework могут создаваться экземпляры классов.
Bitrix Framework допускает разработку пользовательских модулей.
Пункты административного меню можно добавлять с помощью события OnBuildGlobalMenu.
С версии 15.5.1
С указанной версии появилась штатная поддержка вызова стороннего файла css. Под сторонним файлом понимается как локальный файл вне компонента так и файл на внешнем домене.
$this->addExternalCss("/local/styles.css");
$this->addExternalJS("/local/liba.js");
Я для себя выделил примерно так градацию создания магазинов (не учитывая супер-пупер уникальные):
- 50-70 часов на создание "можно торговать", дизайн подключен, все работает.
- 30 часов - тюнинг, комментарии клиента, которые не учел в начале.
- Хитрые SKU или сложное оформление накидывают еще 50 часов.
Это именно боевые часы, сел и работаешь, а не офисные часы.
Sergey Leshchenko: Сайты разрабатываются не для того, чтобы их было удобно потом поддерживать веб-разработчикам.
#WORK_AREA# - основная рабочая область. Рабочая область страницы, в которой размещаются собственно информационные материалы сайта. В качестве Основной рабочей области может подключаться как физический файл, так и создаваемый системой на основе комплексных компонентов, динамический код.
Используйте инфоблоки 2.0. Это включаемый галочкой в административном разделе режим работы инфоблока, когда его поля переносятся в отдельную таблицу.
Структура файлов шаблона сайта
Пример общей структуры файлов и папок шаблона сайта:
- каталог
/components – предназначен для шаблонов компонентов;
- каталог
/images – предназначен для картинок шаблона (которые не зависят от просматриваемой страницы), копируется из верстки сайта;
- каталог
/include_areas – содержит включаемые области шаблона;
- каталог
/lang – содержит файлы языковых сообщений;
- каталог
/page_templates – для шаблонов страниц и редактируемых областей;
- каталог
/snippets – содержит сниппеты – маленькие фрагменты html-кода для ускорения работы контент-менеджера по созданию часто встречающихся блоков кода;
- каталог
/themes – тема оформления шаблона;
- файл header.php – часть шаблона ДО контента;
- файл footer.php – часть шаблона ПОСЛЕ контента;
- файл description.php – название и описание шаблона;
- файл .styles.php – описания стилей для визуального редактора страниц;
- файл template_styles.css – стили шаблона (стили применяемые в самом шаблоне дизайна сайта);
- файл styles.css – стили для контента и включаемых областей. Эти стили можно применять в визуальном редакторе.
Highload-блоки
Поскольку модуль Информационные блоки считается очень "тяжелым" для создания легких справочников или хранения большого количества данных (когда модуль может вести себя не очень оптимально), то появилась потребность в создании аналога инфоблоков (модуль Highload-блоки), но гораздо проще и "полегче" Примечание: Highload-блоки и традиционные инфоблоки - это разные вещи. Поэтому нет возможности конвертации традиционных инфоблоков в Highload-блоки. Это все равно как конвертировать форум в wiki. Технически можно создать какую-то аналогичную структуру и перенести данные. Но это имеет смысл только для конкретного проекта при определенной необходимости.
Компонент - это логически завершённый код, предназначенный для извлечения информации из инфоблоков и других источников и преобразования её в HTML-код для отображения в виде фрагментов web-страниц. Состоит из собственно компонента (контроллер) и шаблона (представление). Компонент, с помощью API одного или нескольких модулей, манипулирует данными. Шаблон компонента выводит данные на страницу.
Коллекция - это умный массив, позволяющий оптимизировать групповые операции с объектами одного типа.