Skip to content

Instantly share code, notes, and snippets.

@Philosoft
Last active December 14, 2015 20:57
Show Gist options
  • Save Philosoft/3c91571a9a8a1b065a86 to your computer and use it in GitHub Desktop.
Save Philosoft/3c91571a9a8a1b065a86 to your computer and use it in GitHub Desktop.
Много директорий на dotplant2

Чего мы хотим добится?

Вывода категорий и подкатегорий, как вот здесь http://www.atlant1.ru/catalog

Как?

Регистрируем новую вьюху

Свойства - представления - добавить

  • название - произвольное
  • представление = @app/web/theme/views/templates/catalog

Поменяем вьюху для нужной категории

Магазин - категории - редактировать нужную категорию - в поле представление выбираем созданное выше представление

Запиливаем вьюху

<?php

/**
 * @var \app\modules\shop\models\Category $selected_category
 */

use app\modules\image\widgets\ObjectImageWidget;
use yii\helpers\Html;
use yii\helpers\Url;

foreach ($selected_category->children as $firstLevelCategory) {
    echo Html::a(
        Html::tag("h4", $firstLevelCategory->name),
        Url::toRoute(
            [
                "/shop/product/list",
                "last_category_id" => $firstLevelCategory->id
            ]
        )
    );
    echo ObjectImageWidget::widget(
        [
            "limit" => 1,
            "model" => $firstLevelCategory,
            "thumbnailOnDemand" => true,
        ]
    );

    $list = "";
    foreach ($firstLevelCategory->children as $secondLevelCategory) {
        $list .= Html::tag(
            "li",
            Html::a(
                $secondLevelCategory->name,
                Url::toRoute(
                    [
                        "/shop/product/list",
                        "last_category_id" => $secondLevelCategory->id
                    ]
                )
            )
        );
    }
    echo Html::tag(
        "ul",
        $list
    );
}

Любуемся результатом и наводим красоту

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment