PHPackages                             akiyatkin/order - 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. akiyatkin/order

ActiveLibrary

akiyatkin/order
===============

07PHP

Since Jun 10Pushed 6y agoCompare

[ Source](https://github.com/akiyatkin/order)[ Packagist](https://packagist.org/packages/akiyatkin/order)[ RSS](/packages/akiyatkin-order/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Showcase
========

[](#showcase)

showcase\_prices price\_id, \[name\], producer\_id, time, order, count, duration, ans showcase\_catalog catalog\_id, \[name\], producer\_id, time, order, count, duration, ans
==============================================================================================================================================================================

[](#showcase_prices-price_id-name-producer_id-time-order-count-duration-ansshowcase_catalog-catalog_id-name-producer_id-time-order-count-duration-ans)

showcase\_groups group\_id, group, \[group\_nick\], parent\_id, icon showcase\_producers producer\_id, producer, \[producer\_nick\], icon showcase\_articles article\_id, article, \[article\_nick\]

showcase\_props prop\_id, prop, \[prop\_nick\], type (1 value, 2 number, 3 text) - number и text считаются только те свойство которые указаны в конфиге showcase\_values value\_id, value, \[value\_nick\] - value\_nick создаётся для тех свойств которые есть в фильтрах конфига

====

showcase\_items (model\_id, item\_num), item, \[item\_nick\] showcase\_models model\_id, catalog\_id, \[producer\_id, article\_id\], group\_id, time (1 актив, 2 удалена - для сохранения ид)

showcase\_mvalues \[model\_id, item\_num, prop\_id, value\_id\], price\_id, order showcase\_mnumbers \[model\_id, item\_num, prop\_id, number\], price\_id, order showcase\_mtexts \[model\_id, item\_num, prop\_id\], text, price\_id, order

Если удалили колонку и у айтема пропал props - удаляются все пропсы модели, кроме тех у которых price\_id

Нужно точно знать какие свойства относятся к mitem а какие к model.

Конфиг прайса (producer, isglob, isaccurate, catalogkeytpl, pricekeytpl, priceprop, catalogprop в конфиге) true, false - pricekey\_value глобальный, true, true - pricekey\_id по priceprop\_id, catalogprop\_id, глобальный поиск false, false - pricekey\_value уникальный для producer false, true - pricekey\_id по priceprop\_id, catalogprop\_id, уникальный для producer parse - заменяется с обновлением прайса, удаляется с пропажей прайса

-showcase/

Применить все обновления Перепривязать все файлы

Данные Файл файл/загружен действия asdf.xlsx ----/date применить asdf.xlsx date/date применить asdf.xlsx date/date применить asdf.xlsx date/date применить

Прайсы Файл файл/загружен действия asdf.xlsx ----/date применить asdf.xlsx date/date применить asdf.xlsx date/date применить asdf.xlsx date/date применить

Конфиг ~prices.json

```

showcase: {
	"src":"~catalog/tables/",
	"numbers":["Цена"],
	"filters":{ //Если указано то для этих свойств для строк и bool создаётся string_nick, заполняется filters
		"светильники-и-прожектора":["источник-света","степень-защиты"]
	},
	prices: {
		name: {
			"producer":"RPM",
			"price_key":"....",
			"catalog_key":"..."
			"priceprop":"Артикул",
			"catalogprop":"Код"
		}
	}
}

```

-showcase/search -showcase/pos/producer/article -showcase/groups -showcase/producers Каждые 24 часа удалять метки, которые старее 96 часов

Showcase::parseNew();

Длинное имя группы, например: "Автомобильные регистраторы #avtoreg" берётся из Наименования в descr. Id encod(всё) title то что до решётки.

Связь с файлами рассчитывается по производителям.

- Выгружаются все артикулы производителя.
- Индексируются все файлы имеющие отношение к производителю, имя файла считается артикулом(по запятым несколько артикулов) и по ассоциативному массиву с артикулами позиций вносятся изменения в базу данных. Для этих опций указывается price\_id 1 и файлы не будут удалятся при внесении обновлённых данных.

Фото, Файл, Файлы, Иллюстрации
==============================

[](#фото-файл-файлы-иллюстрации)

Фото, Файл - шаблон имени файла Иллюстрации - Путь до иллюстрации в интернете, как есть попадает в images

justonevalue
============

[](#justonevalue)

numbers и values по умолчанию сплитятся по запятым. Это поведение можно для какого-то свойства отменить указав его в свойстве justonevalue.

specprice (depricated)
======================

[](#specprice-depricated)

Свойство specprice у позиции в каталоге делает цену каталога приоритетней цены прайса

start и starts
==============

[](#start-и-starts)

Указывается номер строки с которой начинается шапка, по умолчанию и на конкретных листах в starts: {name: 10, name: 4}

skip
====

[](#skip)

Массив с объяснениями почему не все позици в прайсе приняты и остались позиции без цен в каталоге. Указывается у производителя.

cleararticle
============

[](#cleararticle)

Очищает код в прайсе от названия производителя

```
"producers":{
		"RusGuard":{
			"skipcost":20,
			"skipimage":0,
			"skip":{
				"Лист Программного обеспечения. Артикулы находятся в описании и автоматически не достаются":18,
				"Лист ACS-202 нет цен, только Звоните":2
			}
		}
	},

```

Пример опций ~showcase.json
===========================

[](#пример-опций-showcasejson)

```
{
	"numbers":["Цена (опт 1)", "Цена (опт 2)","Цена (розница)","Код"],
	"values":["Ед.","Применяемость","Наличие на складе","Доп. ВПР (ТЛТ)"],
	"texts":["Описание","Наименование"],
	"justonevalue":["Наименование"],
	"filters":{
		"светильники-и-прожектора":["источник-света","степень-защиты"]
	},
	"catalog":{
		"Nokia":{
		},
		"El-car":{
			"producer":"ЭЛКАР"
		}
	},
	"prices":{
		"El-car":{
			"synonyms": {
				"Опт":["опт"],
				"Розница":["розница","Розничная цена, руб"]
			},
			"patterns":["article"],
			"props":["Артикул","Производитель"],
			"producer":false,
			"priceprop":"Код",
			"catalogprop":"Код"
		},
		"Amatek": {
			"start":4,
			"synonyms": {
				"Опт":["опт"],
				"Розница":["розница","Розничная цена, руб"]
			},
			"price":"{Path.encode(Модель)}",
			"catalog":"{article}",
			"ignore":["расшифровка  обозначений","Выбор модели HVR 2018", "Выбор модели HVR 2019", "Выбор модели HVR 2017","Режимы HVR","Режимы NVR"]
		},
		"RVi": {
			"start":2,
			"synonyms":{
				"Розничная цена":["РОЗНИЧНАЯ ЦЕНА"]
			},
			"ignoreart":["1-4-Объективы"],
			"merge":true,
			"price":"{Path.encode(Наименование)}",
			"catalog":"{article}",
			"ignore":["Оглавление","Совместимость доп. аксессуаров", "Совместимость доп. аксессуаров","!АКЦИИ","Выбор модели HVR","Оглавление"]
		},
		"Ritm": {
			"start":7,
			"price":"{Path.encode(Номенклатура)}",
			"catalog":"{article}"
		},
		"Nice": {
			"price":"{Path.encode(Артикул)}",
			"catalog":"{article}",
			"ignore":["Старт","Откатные ворота","Распашные ворота","Шлагбаумы","Секционные ворота","Радиоуправление","Внутривальные приводы","Прайс-лист на запчасти"]
		},
		"Линия": {
			"start":7,
			"head":["Артикул","","Описание","Цена"],
			"price":"{Path.encode(Артикул)}",
			"catalog":"Линия-{article}",
			"ignore":["Лист2"]
		},
		"Optimus": {
			"ignore":["Содержание"],
			"start":2,
			"price":"{код|Код}",
			"catalog":"{КодПрайса}"
		},
		"Tantos": {
			"start":6,
			"ignoreart":["мониторы-с-кнопочным-управлением",
				"мониторы-с-сенсорным-экраном",
				"ts-exit-выводится-из-ассортимента",
				"катушка-для-ts-el2369st-ss-и-ts-el2370ss"],
			"synonyms": {
				"Наименование":["Наименование товаров"],
				"Опт.":["опт."],
				"Розн.":["розн."]
			},
			"ignore":["Разъёмы и соединители"],
			"start":6,
			"price":"{~lower(Path.encode(Наименование))}",
			"catalog":"{~lower(article)}"
		},
		"O-ZERO": {
			"ignore":["Главная"],
			"start":2,
			"price":"{Path.encode(Наименование)}",
			"catalog":"{article}"
		}
	}
}
```

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/341a8ef8a06866ad99b1bbcf0216fd8e331b076b1690a7d992c386192674b787?d=identicon)[akiyatkin](/maintainers/akiyatkin)

---

Top Contributors

[![akiyatkin](https://avatars.githubusercontent.com/u/953753?v=4)](https://github.com/akiyatkin "akiyatkin (2 commits)")

### Embed Badge

![Health badge](/badges/akiyatkin-order/health.svg)

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

PHPackages © 2026

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