PHPackages                             notagency/notagency.base - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. notagency/notagency.base

ActiveBitrix-d7-module[Utility &amp; Helpers](/categories/utility)

notagency/notagency.base
========================

Bitrix-D7-framework missing components

1.0.114(7y ago)94873MITPHPPHP &gt;=5.4.0

Since May 11Pushed 6y ago3 watchersCompare

[ Source](https://github.com/notagency/notagency.base)[ Packagist](https://packagist.org/packages/notagency/notagency.base)[ Docs](http://notagency.ru)[ RSS](/packages/notagency-notagencybase/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (1)Versions (34)Used By (0)

Оглавление
----------

[](#оглавление)

- [Описание](#%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5)
- [Компоненты](#%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B)
- [Установка](#%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
- [ComponentsBase](#componentsbase)
- [Шаблон сайта при начальных условиях](#%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD-%D1%81%D0%B0%D0%B9%D1%82%D0%B0-%D0%BF%D1%80%D0%B8-%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F%D1%85)

Описание
--------

[](#описание)

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

1. Компоненты реализуются на основе класса [ComponentsBase](#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](https://getcomposer.org/doc/00-intro.md) и опубликован на [packagist.org](https://packagist.org/packages/notagency/notagency.base).

В корне сайта, где установлен битрикс, необходимо выполнить:

```
composer require notagency/notagency.base
```

Модуль должен появиться в списке *Marketplace → Установленные решения*. Далее следует стандартная процедура установки marketplace-модуля.

ComponentsBase
--------------

[](#componentsbase)

Базовый класс для всех компонентов, реализованных на основе данного модуля. Класс реализован на основе класса *CBitrixComponent* и по сути является его расширенной версией. Поддерживает исключения.

В методе [executeBase](https://github.com/notagency/notagency.base/blob/master/lib/componentsbase.php#L47-L70) устанавливается порядок выполнения методов любого компонента, отнаследованного от *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](https://github.com/notagency/notagency.base/tree/master/boilerplate/templates/sitename) размещен шаблон с наиболее частыми начальными условиями при создании шаблона сайта.

Например, в header есть код подключения меню с шаблоном top, а в footer есть подключение включаемых областей для вывода копирайта.

Для установки необходимо вручную скопировать шаблон в папку *local/templates*

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 85.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~31 days

Recently: every ~49 days

Total

33

Last Release

2661d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cc43c9b2ce98d8c8a717914ebaeb3c0002c6bf2e28eee05d9f9c4e837d044f78?d=identicon)[notagency](/maintainers/notagency)

---

Top Contributors

[![coldshine](https://avatars.githubusercontent.com/u/963341?v=4)](https://github.com/coldshine "coldshine (144 commits)")[![aeremichev](https://avatars.githubusercontent.com/u/30293802?v=4)](https://github.com/aeremichev "aeremichev (21 commits)")[![kulikovviktor](https://avatars.githubusercontent.com/u/814184?v=4)](https://github.com/kulikovviktor "kulikovviktor (4 commits)")

---

Tags

componentsbitrixmodule

### Embed Badge

![Health badge](/badges/notagency-notagencybase/health.svg)

```
[![Health](https://phpackages.com/badges/notagency-notagencybase/health.svg)](https://phpackages.com/packages/notagency-notagencybase)
```

###  Alternatives

[bitrix-expert/bbc-module

Module with classes for the basis components

1951.8k1](/packages/bitrix-expert-bbc-module)[bitrix-expert/bbc

Bitrix basis components

10242.9k1](/packages/bitrix-expert-bbc)[webarchitect609/bitrix-neverinclude

Automatic Bitrix modules loader helps you to forget about CModule::IncludeModule and Loader::includeModule.

1115.1k](/packages/webarchitect609-bitrix-neverinclude)[andreyryabin/sprint.options

Content options for 1C-Bitrix

185.7k](/packages/andreyryabin-sprintoptions)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
