?>

Как правильно показывать дополнительные свойства элементов в SkeekS CMS

Как правильно показывать дополнительные свойства элементов в SkeekS CMS

Частая задача, отобразить свойства элементов (товаров, новостей, статей и т.д.) в карточке, на детальной странице.

И не только отобразить, но и дать возможность управлять этим администратору сайта.

Сегодня появился новый виджет, который создан как раз для этих задач. https://github.com/skeeks-cms/cms-rp-view-widget

1) Производим стандартную установку.

2) Ставим в шаблон:

<? $widget = \skeeks\cms\rpViewWidget\RpViewWidget::beginWidget('product-properties', [
    'model' => $model,
    //'visible_properties' => ['color', 'material'],
    //'visible_only_has_values' => true,
    //'viewFile' => '@app/views/your-file',
]); ?>
    <? //$widget->viewFile = '';?>
<? \skeeks\cms\rpViewWidget\RpViewWidget::end(); ?>

На этом этапе уже будут показываться все свойства, элемента с заданными значениями.

Если нужна кастомизация шабона, то передать параметр viewFile и написать свой шаблон:

<?php
/* @var $this yii\web\View */
/* @var $widget \skeeks\cms\rpViewWidget\RpViewWidget */
?>
<? if ($attributes = $widget->rpAttributes) :  ?>
    <? foreach ($attributes as $code => $value) :  ?>
        <p>
            <strong><?= $widget->model->relatedPropertiesModel->getRelatedProperty($code)->name; ?>:</strong>
            <?= $widget->model->relatedPropertiesModel->getSmartAttribute($code); ?>
        </p>
    <? endforeach;  ?>
<? endif;  ?>

 

All Comments (0)
No Comments