alex290/yii2-widget-content-old

Widget content old

Installs: 6

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Language:JavaScript

Type:yii2-extension

0.2.6 2024-09-20 08:43 UTC

This package is auto-updated.

Last update: 2024-10-20 08:56:53 UTC


README

Widget content

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist alex290/yii2-widget-content "*"

or add

"alex290/yii2-widget-content-old": "*"

to the require section of your composer.json file.

Usage

Once the extension is installed, simply use it in your code by :

в конфиге web.php прописать

'modules' => [
    'widget-content' => [
        'class' => 'alex290\widgetContentOld\Module',
        'path' => 'upload', //path to files
        'ckeditorPath' => '/web/lib/ckeditor/ckeditor.js', // Путь к внешнему Ckeditor - Необязательно
        'ckeditorConfig' => '/web/lib/ckeditor/config-st.js', // Путь к конфигурации внешнего Ckeditor  - Необязательно
    ],
],

run migrate

php yii migrate/up --migrationPath=@vendor/alex290/yii2-widget-content/migrations

attach behaviour to your model (be sure that your model has "id" property)

public function behaviors()
{
    return [
        'widget' => [
            'class' => 'alex290\widgetContentOld\behaviors\Behave',
        ]
    ];
}

Вывести виджет в админке

<?php if (!$model->isNewRecord) : ?>
    <?= $model->getWidget() ?>
<?php endif ?>

Получить массив объектов виджетов данной модели

$model->getContent();

Удалить виджеты

$model->removeWidgetAll();

$model->removeWidget($id);

Выводить записи на странице

<?php if ($model->getContent() != null) : ?>
    <?php foreach ($model->getContent() as $key => $widget) : ?>
            <?php if ($widget->type == 1) : ?>
                <?php $data = Json::decode($widget->data) ?>
                <!-- Выводим текст ($data['text']) -->
            <?php elseif ($widget->type == 2) : ?>
                <?php $data = Json::decode($widget->data) ?>
                <!-- Выводим изображение -->
                <!-- $widget->getImage()->GetPath() -->
                <!-- Заголовок изображения ($data['title']) -->
            <?php elseif ($widget->type == 3) : ?>
                <?php $data = Json::decode($widget->data) ?>
                <!-- Выводим файлы -->
                <a href="/web/<?= $data['file'] ?>" download="<?= $data['fileName'] ?>"><?= $data['title'] ?></a>
            <?php endif ?>

    <?php endforeach ?>
<?php endif ?>