Расширения от HimikLab

Выкладываем свои наработки
himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Расширения от HimikLab

Сообщение himiklab » 2014.07.19, 21:34

Представляю несколько написанных мной для своих проектов расширений Yii2. Приветствуются форки, pull-requests, feature-requests и багрепорты.
Sortable GridView Widget for Yii2 - Стандартный GridView, но с возможностью сортировки строк относительно друг друга, результат сохраняется а БД.

Easy Thumbnail Image Helper for Yii2 - Хелпер для создания и автоматического кэширования превьюшек, с возможностью генерации тега img.

XML Sitemap Module for Yii2 - Модуль для генерации XML Sitemap.

Yii2 Zend Lucene Search Component - Компонент и модуль для построения системы текстового поиска, основан на Zend Lucene.

jqGrid Widget for Yii2.
Handsontable Widget for Yii2.
Colorbox Widget for Yii2.
Обёртки для соответствующих JS виджетов.
Последний раз редактировалось himiklab 2018.10.23, 17:52, всего редактировалось 7 раз.

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Раширения от HimikLab

Сообщение lynicidn » 2014.07.19, 21:39

неплохо бы еще демку или лучше ссылки на плагины

himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Re: Раширения от HimikLab

Сообщение himiklab » 2014.07.19, 21:54

Над демо подумаю, а про ссылки не понял, указаны ссылки на github, там код и всё что нужно для composer.

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Раширения от HimikLab

Сообщение lynicidn » 2014.07.19, 21:55

ссылки на плагины жиквери, как это делают все, кто пишет обертки

himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Re: Расширения от HimikLab

Сообщение himiklab » 2014.07.19, 22:06

Это есть в коде, но добавлю ещё в readme.
Спасибо за подсказку. :)

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Расширения от HimikLab

Сообщение lynicidn » 2014.07.19, 22:08

в коде колорбокса не нашел

himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Re: Расширения от HimikLab

Сообщение himiklab » 2014.07.19, 22:15

Colorbox.php 30 строка

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Расширения от HimikLab

Сообщение lynicidn » 2014.07.19, 22:50

да, сорри, я на верху смотрел

Аватара пользователя
Nill
Сообщения: 50
Зарегистрирован: 2014.07.04, 10:54

Re: Расширения от HimikLab

Сообщение Nill » 2014.12.29, 13:16

Спасибо! Отличные расширения!
A.A.

himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Re: Расширения от HimikLab

Сообщение himiklab » 2014.12.29, 16:22

Всегда пожалуйста!
Смотрите Гитхаб, там больше, и периодически появляются новые.

Аватара пользователя
Nill
Сообщения: 50
Зарегистрирован: 2014.07.04, 10:54

Re: Расширения от HimikLab

Сообщение Nill » 2015.01.02, 17:04

Как модифицировать расширение "Chained DropDownList Widget for Yii2", таким образом, чтобы при выборе из основного списка зависимый всегда начинался со слова "Выбрать" имеющим значение NULL? Таким образом не обязательно нужно указывать зависимое значение.
A.A.

himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Re: Расширения от HimikLab

Сообщение himiklab » 2015.01.02, 17:20

Добавьте атрибут items, внутри это обыкновенный dropDownList.

Аватара пользователя
Nill
Сообщения: 50
Зарегистрирован: 2014.07.04, 10:54

Re: Расширения от HimikLab

Сообщение Nill » 2015.01.02, 17:49

Я сделал так

Код: Выделить всё

$models = VideoLimits::find()->where(['type_id' => $cat_id])->asArray()->all();
        foreach ($models as $key => $value) {
            $data[] = [$value['id'] => $value['name']];
        }
        $a = [0 => [NULL => 'Выбрать']];
        $r = ArrayHelper::merge($a, $data);
        return $r;
A.A.

Аватара пользователя
Nill
Сообщения: 50
Зарегистрирован: 2014.07.04, 10:54

Re: Расширения от HimikLab

Сообщение Nill » 2015.01.02, 17:56

И еще вопрос.
Sortable GridView Widget for Yii2 отличная штука! Вот только если значения отфильтрованы в гриде, например записи блога в конкретной категории, то сортировка работает в диапазоне только выбранного числа записей. В итоге получаем одинаковые числа. 0,1,1,2,3,3... Можно ли это исправить и как?
A.A.

himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Re: Расширения от HimikLab

Сообщение himiklab » 2015.01.02, 18:08

Хм... проблемка, сейчас используется довольно простой алгоритм, он не предусматривает подобных случаев. С другой стороны если часть полей скрывается и не участвует в сортировке, то как определить их отношение к тем полям которые были отсортированы?

Аватара пользователя
Nill
Сообщения: 50
Зарегистрирован: 2014.07.04, 10:54

Re: Расширения от HimikLab

Сообщение Nill » 2015.01.02, 18:14

Я вот думаю, может нужна последующая пересортировка. Скажем кнопка и функция пересортировать, чтобы значения не повторялись.
A.A.

himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Re: Расширения от HimikLab

Сообщение himiklab » 2015.01.02, 18:22

Пересортировать можно, лучше сразу в коде, но отношения будут уже нарушены.

Аватара пользователя
Nill
Сообщения: 50
Зарегистрирован: 2014.07.04, 10:54

Re: Расширения от HimikLab

Сообщение Nill » 2015.01.03, 13:02

Быть может нужно работать со всей таблицей БД? Если есть постраничная разбивка и мы попробуем отсортировать на второй странице, то снова получим 0,1 и так далее.

Или, как вариант, использовать текущие значения sortOrder в отсортированном гриде, например 2, 8, 10. При перетаскивании 10 вверх, остальные смещаются вниз 2 к 8, 8 становиться 10.
A.A.

biconcave
Сообщения: 2
Зарегистрирован: 2015.01.11, 15:24

Re: Расширения от HimikLab

Сообщение biconcave » 2015.01.11, 15:28

himiklab писал(а): Colorbox Widget for Yii2.
Обёртки для соответствующих JS виджетов.
Привет, как настроить ваш виджет colorbox чтобы появилась возможность перехода между изображениями в режиме просмотра (назад - вперед)?

himiklab
Сообщения: 17
Зарегистрирован: 2014.07.19, 20:13

Re: Расширения от HimikLab

Сообщение himiklab » 2015.01.11, 15:45

Здравствуйте.

Код: Выделить всё

<?= Colorbox::widget([
    'targets' => [
        '.colorbox' => [
            'rel' => 'image-in-group'
        ],
    ]
]) ?>
И добавьте к каждому изображению класс image-in-group.

Ответить