PHPackages                             lowbase/yii2-lowbase - 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. [Framework](/categories/framework)
4. /
5. lowbase/yii2-lowbase

ActiveProject[Framework](/categories/framework)

lowbase/yii2-lowbase
====================

Yii 2 CMS

1.0.0(10y ago)4418517[5 issues](https://github.com/lowbase/yii2-lowbase/issues)BSD-3-ClausePHPPHP &gt;=5.4.0

Since Nov 26Pushed 10y ago16 watchersCompare

[ Source](https://github.com/lowbase/yii2-lowbase)[ Packagist](https://packagist.org/packages/lowbase/yii2-lowbase)[ Docs](http://www.lowbase.ru/)[ RSS](/packages/lowbase-yii2-lowbase/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (2)Dependencies (10)Versions (3)Used By (0)

lowBase - низкоуровневая Yii2 CMS для программистов
===================================================

[](#lowbase---низкоуровневая-yii2-cms-для-программистов)

lowBase - низкоуровневая CMS, включающая в себя готовую универсальную систему администрирования сайта и Yii2 основу для самостоятельной разработки клиентского приложения. По организации контента похожа на CMS ModX

Составлена на основе независимых модулей:

[Модуль пользователей](https://github.com/lowbase/yii2-user "модуль пользователей")

[Модуль документов](https://github.com/lowbase/yii2-document "модуль документов")

Каждый из модулей может быть заменен в CMS на собственный. Взаимодействия друг с другом минимальны.

[Демо панели администрирования](http://demo.lowbase.ru/admin "демо панели")

[Сайт-источник](http://lowbase.ru "сайт-источник")

Доступ к админ. панели по адресу `/admin`

[![Пример: Добавлене товара](https://camo.githubusercontent.com/651b241d2f8699dc723141f7b029b7bee4d0b668b6c880e58a9112846db5f4ab/687474703a2f2f6c6f77626173652e72752f61747461636865732f6c622e6a7067)](https://camo.githubusercontent.com/651b241d2f8699dc723141f7b029b7bee4d0b668b6c880e58a9112846db5f4ab/687474703a2f2f6c6f77626173652e72752f61747461636865732f6c622e6a7067)

Установка lowBase
-----------------

[](#установка-lowbase)

- `composer create-project lowbase/yii2-cms project-name dev-master`
- Создаем пустую базу данных и настраиваем соединение с базой в файле config/db.php

```
'db' => [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=имя_базы_данных',
    'username' => 'пользватель',
    'password' => 'пароль',
    'charset' => 'utf8',
],

```

- Запускаем миграции коммандой `php yii migrate`
- Для работы EAUTH-авторизации необходимо зарегитсрировать приложение/сайт в соответствующих социальных сетях. В файле config/web.php прописываем полученные ключи и id приложения:

```
  'authClientCollection' => [
            'class' => 'yii\authclient\Collection',
            'clients' => [
                'vkontakte' => [
                    // https://vk.com/editapp?act=create
                    'class' => 'lowbase\user\components\oauth\VKontakte',
                    'clientId' => '?',
                    'clientSecret' => '?',
                    'scope' => 'email'
                ],
                ...
            ]
        ]

```

\##Основы проектирования сайта на lowBase

Разработка сайта ведется по принципу "Программирование от содержимого". Т.е. создаем структуру на основе документов в панели администрирования, а затем переходим к Frontend части, делая самостоятельно вывод и пользовательский ввод, используя готовые модели. Либо производим эти действия параллельно: программист или верстальщик занимается пользовательским интерфейсом, а контент-менеджеры заполняют содержимое документов.

\####Документ - универсальная сущность. Основа всего содержания

Документ - это:

- новость
- статья
- отзыв
- категория
- товар
- заказ магазина
- характеристка товара
- список со способами оплаты или доставки магазина
- сам способ оплаты или доставки
- тег для новости или статьи
- фотогалерея (основная страница вывода)
- альбом фотогалереи
- меню сайта
- пункт меню сайта
- ...

\####Дополнительные поля

К каждому документу с помощью шаблона можно прикрепить дополнительные поля (различных типов). Допускаются мультизначения дополнительных полей с заданием минимального и максимального количества возможных значений. Например:

- Цена товара (число)
- Сумма заказа (число)
- Рейтинг отзыва (список или число)
- Вариант ответа опроса (список)
- Фотография альбома (файл с сервера)
- Теги (строка (мультиполе))
- ...

Как работать с CMS lowBase
--------------------------

[](#как-работать-с-cms-lowbase)

В административной части формируется структура сайта на основе документов (меню, разделы, категории, статьи, различные списки) в древовидной иерархии.

Основные модели, с которыми придется взаимодействовать в клиентской части сайта: пользователи `app/models/User` и документы`app/models/Document` через контроллеры `app/contollers/UserController` и `app/controllers/DocumentController`, которые являются пустыми заготовками, унаследованные от соответствующих классов модулей системы.

Как альтернативный вариант можно создать модульную структуру, унаследовав ваши модули от соответствующих модулей `\lowbase\document\Module` и `\lowbase\user\Module`. Возможности модулей и вызов виджетов смотрите в документации модулей.

\####Работа с документами и с дополнительными полями

Значения дополнительных полей документа хранятся в массиве `$document->fields`

После получения самого документа массив не заполняется:

```
$document = app\models\Document::findOne($id);
print_r($document->fields);     //Array() - массив пуст

```

Для заполнения дополнительных полей документа используйте метод `fillFields()`

```
$document = app\models\Document::findOne($id);
$document->fillFields();
print_r($document->fields);     //Array([1] => ['name' => 'Теги', 'type' => 4, 'param' => '', 'min' => 0, 'max' => 2, 'data' => [[1] => ['value' => 'Тег_1', 'position' => ''], [2] => ...]], [2] => ...)

    /**
     * Значения дополнительных полей
     * Массив имеет следующую структуру:
     *
     * [$field_id] => [
     *                  'name' => 'Название дополнительного поля',
     *                  'type' => 'Тип дополнительного поля',
     *                  'param' => 'Параметр дополнительного поля',
     *                  'min' => 'Минимум значений',
     *                  'max' => 'Максимум значений',
     *                  'data' => [ $data_id => [
     *                                            'value' => 'Значение дополнительного поля'
     *                                            'position' => 'Позиция дополнительного поля'
     *                                             ],
     *                                           ...
     *                          ]
     *              ],
     * ...
     *
     * $field_id - ID дополнительного поля из БД, $data_id - ID записи значения дополнительного поля из БД
     * Если необходимо прикрепить новое значение 'data' к документу, то в качестве ключа используем 'new_'.$i, где
     * $i - идентификатор нового значения
     */

```

После сохранения документа

```
$document->save();

```

значения дополнительных полей будут сохранены в соответствующие таблицы.

Можно также получить значения дополнительных полей запросами к соответствующим таблицам (в зависимости от типа поля) БД напрямую

```
$data_values = \lowbase\document\models\ValueString::find()->where(['field_id' => $field_id, 'document_id' => $document_id])->all() // Получение значений дополнительного поля $field_id строкового типа
$data_values = \lowbase\document\models\ValueNumeric::find()->where(['field_id' => $field_id, 'document_id' => $document_id])->all() // Получение значений дополнительного поля $field_id числового типа
$data_values = \lowbase\document\models\ValueText::find()->where(['field_id' => $field_id, 'document_id' => $document_id])->all() // Получение значений дополнительного поля $field_id типа Текст
$data_values = \lowbase\document\models\ValueDate::find()->where(['field_id' => $field_id, 'document_id' => $document_id])->all() // Получение значений дополнительного поля $field_id типа Дата

```

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.7% 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 ~163 days

Total

2

Last Release

3704d ago

Major Versions

v0.9 → 1.0.02016-05-08

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/15556461?v=4)[lowBase](/maintainers/lowbase)[@lowbase](https://github.com/lowbase)

---

Top Contributors

[![lowbase](https://avatars.githubusercontent.com/u/15556461?v=4)](https://github.com/lowbase "lowbase (26 commits)")[![Shekhovtsovy](https://avatars.githubusercontent.com/u/11638272?v=4)](https://github.com/Shekhovtsovy "Shekhovtsovy (11 commits)")[![Beaten-Sect0r](https://avatars.githubusercontent.com/u/1025052?v=4)](https://github.com/Beaten-Sect0r "Beaten-Sect0r (1 commits)")[![maximal](https://avatars.githubusercontent.com/u/980679?v=4)](https://github.com/maximal "maximal (1 commits)")

---

Tags

frameworkcmsyii2lowbase

### Embed Badge

![Health badge](/badges/lowbase-yii2-lowbase/health.svg)

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

###  Alternatives

[lowbase/yii2-cms

Yii 2 CMS

441.1k](/packages/lowbase-yii2-cms)[skeeks/cms

SkeekS CMS — control panel and tools based on php framework Yii2

13725.7k53](/packages/skeeks-cms)

PHPackages © 2026

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