notagency/notagency.base 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

notagency/notagency.base

Composer 安装命令:

composer require notagency/notagency.base

包简介

Bitrix-D7-framework missing components

README 文档

README

Описание

Модуль содержит типовые компоненты. Преимущества компонентов по сравнению со стандартными:

  1. Компоненты реализуются на основе класса ComponentsBase в котором поддерживаются исключения (exception).

  2. Все компоненты реализованы на классах, как следствие любой публичный или ограниченный метод может быть переопределен.

Компоненты

  • 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

统计信息

  • 总下载量: 487
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 3
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-05-11

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固