notagency / notagency.base
Bitrix-D7-framework missing components
Installs: 450
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 4
Forks: 3
Open Issues: 0
Type:bitrix-d7-module
Requires
- php: >=5.4.0
- composer/installers: ~1
This package is not auto-updated.
Last update: 2024-04-13 22:20:04 UTC
README
Описание
Модуль содержит типовые компоненты. Преимущества компонентов по сравнению со стандартными:
-
Компоненты реализуются на основе класса ComponentsBase в котором поддерживаются исключения (exception).
-
Все компоненты реализованы на классах, как следствие любой публичный или ограниченный метод может быть переопределен.
Компоненты
- materials.list - для вывода списков (элементы, секции инфоблока)
- materials.detail - на основе materials.list с ограничением в 1 элемент
- catalog.list - на основе materials.list + данные каталога (цены, кол-во товара и т.д.)
- catalog.detail - на основе materials.detail тоже самое что и catalog.list с ограничением в 1 элемент
- form.result.new - вывод формы из модуля веб-форм
Установка
Модуль распространяется через composer и опубликован на packagist.org.
В корне сайта, где установлен битрикс, необходимо выполнить:
composer require notagency/notagency.base
Модуль должен появиться в списке Marketplace → Установленные решения. Далее следует стандартная процедура установки marketplace-модуля.
ComponentsBase
Базовый класс для всех компонентов, реализованных на основе данного модуля. Класс реализован на основе класса CBitrixComponent и по сути является его расширенной версией. Поддерживает исключения.
В методе executeBase устанавливается порядок выполнения методов любого компонента, отнаследованного от ComponentsBase:
final protected function componentsBase() { //подключает необходимые модули указанные в массиве атрибута класса $needModules //публичный метод $this->includeModules(); //проверка параметров компонента, указанных в массиве атрибута класса $checkParams //приватный метод $this->checkParams(); //перезапуск буфера вывода, если аякс-запрос //приватный метод $this->startAjax(); //метод для переопределения //выполняет пролог компонента, данные не кешируются $this->executeProlog(); //начинаем кеширование if ($this->startCache()) { //метод для переопределения //основной метод в котором выполняется вся логика компонента $this->executeMain(); //если нужно кеширование шаблона... if ($this->cacheTemplate) { //подключает шаблон компонента //публичный метод $this->showResult(); } //алиас для стандартного метода endResultCache() //публичный метод $this->writeCache(); } //если не нужно кеширование шаблона if (!$this->cacheTemplate) { $this->showResult(); } //метод для переопределения //выполняет эпилог компонента, данные не кешируются $this->executeEpilog(); //останавливает выполнение скрипта, если аякс-запрос $this->stopAjax(); }
Шаблон сайта при начальных условиях
В папке boilerplate/templates размещен шаблон с наиболее частыми начальными условиями при создании шаблона сайта.
Например, в header есть код подключения меню с шаблоном top, а в footer есть подключение включаемых областей для вывода копирайта.
Для установки необходимо вручную скопировать шаблон в папку local/templates