max-commerce / shop-catalog
Maxcommerce products catalog module
Installs: 165
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- max-commerce/phpthumb: dev-master
- max-commerce/shop-core: dev-master
This package is auto-updated.
Last update: 2020-02-06 16:28:12 UTC
README
"require": {
"max-commerce/shop-catalog": "dev-master"
}
Общая конфигурация
Базовая конфигурация компонента Shop в main.php
:
'components' => [
..
'shop' => [
'class' => 'maxcom\catalog\ShopComponent',
],
..
]
Вариант конфигурации компонента Shop с дополнительными событиями (в примере ниже на событие afterFind модели Category добавляется поведение ImageByIdBehavior):
'components' => [
..
'shop' => [
'class' => 'maxcom\catalog\ShopComponent',
'on init' => function($event){
Event::on('maxcom\catalog\models\Category', 'afterFind', function ($e) {
$e->sender->attachBehavior('image', [
'class' => 'maxcom\catalog\components\ImageByIdBehavior',
'path' => 'images/category'
]);
});
}
],
..
]
Категории товаров
Работа с категориями осуществляется через глобальный компонент Yii::$app->shop->categories
.
#1 Вывод меню категорий верхнего уровня:
<ul>
<?php foreach (Yii::$app->shop->categories->find()->roots()->limit(99)->all() as $category): ?>
<li><a href="<?= $category->url ?>"><?= Html::encode($category->title) ?></a></li>
<?php endforeach; ?>
</ul>
#2 Вывод двухуровневого меню категорий:
<ul>
<?php foreach (Yii::$app->shop->categories->find()->roots()->all() as $category): ?>
<li<?php if ($category->hasChilds()): ?> class="expandable"<?php endif; ?>>
<a href="<?= $category->url ?>"><?= Html::encode($category->title) ?></a>
<?php if ($category->hasChilds()): ?>
<ul>
<?php foreach ($category->childs as $child_category): ?>
<li><a href="<?= $child_category->url ?>"><?= Html::encode($child_category->title) ?></a></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
#3 Вывод двухуровневого меню категорий с картинкой (поведение ImageByIdBehavior):
<ul>
<?php foreach (Yii::$app->shop->categories->find()->roots()->all() as $category): ?>
<li<?php if ($category->hasChilds()): ?> class="expandable"<?php endif; ?>>
<a href="<?= $category->url ?>">
<?= $category->imageUrl ? "<img src=\"" . $category->imageUrl . "\" />" : '' ?><?= Html::encode($category->title) ?>
</a>
<?php if ($category->hasChilds()): ?>
<ul>
<?php foreach ($category->childs as $child_category): ?>
<li><a href="<?= $child_category->url ?>"><?= Html::encode($child_category->title) ?></a></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>