[tvSuperSelect] 1.3.0 Привет, MIGX!


Наконец-то! Ребята, я нашёл время и добавил поддержку MIGX в tvSuperSelect!

Хранение данных

Хранение данных в своей таблице для MIGX полей, конечно-же, не работает. Также, как и не работает вывод через сниппеты компонента. Это нужно понимать и не задавать подобных вопросов!

Как выводить

Структура у всех будет разная, но представим, что у нас есть поле MIGX «migx_tvss_1» с 3-мя полями, каждое из которых является tvSuperSelect:
  1. Название: tvss_1
    Значения: tag-1-1, tag-1-2, tag-1-3
  2. Название: tvss_2
    Значения: tag-2-1
  3. Название: tvss_3
    Значения: пусто

Парсер MODX:
[[!getImageList?
    &tvname=`migx_tvss_1`
]]
выдаст примерно такой результат:
Array
(
    [MIGX_id] => 1
    [tvss_1] => tag-1-1||tag-1-2||tag-1-3
    [tvss_2] => tag-2-1
    [tvss_3] => 
    [_alt] => 0
    [_first] => 1
    [_last] => 1
    [idx] => 1
    [property.tvname] => migx_tvss_1
)

Fenom:
{$_modx->resource['migx_tvss_1'] | fromJSON | print}
выдаст примерно такой результат:
Array
(
    [0] => Array
        (
            [MIGX_id] => 1
            [tvss_1] => Array
                (
                    [0] => tag-1-1
                    [1] => tag-1-2
                    [2] => tag-1-3
                )

            [tvss_2] => tag-2-1
            [tvss_3] => 
        )

)
Павел Гвоздь
28 октября 2018, 12:40
6
1 002
+22
Поблагодарить автора Отправить деньги

Комментарии: 15

Дмитрий
28 октября 2018, 12:46
0
Павел, Ура!

Мега-функция! Благодарю!
Константин
28 октября 2018, 13:58
0
Спасибо! Пригодится!
Баха Волков
28 октября 2018, 14:21
+5
Месяц MIGX) Паша, красавец!
    Павел Гвоздь
    28 октября 2018, 15:34
    +6
    На самом деле стоит благодарить тебя за твои статьи! Если бы не они, я б и не подумал тратить столько времени на этот функционал! Но видя, как людям нравится MIGX, решил, что пора! Так что, Баха красавец! =)
TITAN-UZ
31 октября 2018, 11:58
0
По истину ГВОЗДЬ дополнения
Артем
05 ноября 2018, 13:37
+1
Павел, не сохраняет теги!
В консоле у input-ов в name пропали квадратные скобки
    Артем
    05 ноября 2018, 13:45
    +1
    В файле assets/components/tvsuperselect/js/mgr/misc/ms2.combo.js
    Закомментированные строки с 82-84 раскомментрирвал — заработало.
    if (!/_/.test(config['name'])) {
        config['name'] += '[]';
    }
      Павел Гвоздь
      05 ноября 2018, 14:58
      0
      Благодарю! Да, дебажил и забыл раскоментить…
      Обновляйтесь до 1.3.0-beta2:
      1.3.0-beta2 (05.11.2018)
      ==============
      - Поправлено формирование имени ТВ поля
        Артем
        05 ноября 2018, 15:26
        0
        Спасибо, обновился
mngatoff
07 января 2019, 06:36
0
Паш, почему-то если в поле migx два поля tvsuperselect, работает только первое, второе сохраняет только пару символов первой попытки что-то написать, а потом совсем перестает реагировать
Виктор Долгий
12 января 2019, 16:08
0
При чистой установке на modhost.pro:
Could not create table `v4enCXzTSLqE_tvss_options` SQL: CREATE TABLE `v4enCXzTSLqE_tvss_options` (`resource_id` INT(10) unsigned NOT NULL, `tv_id` VARCHAR(255) NOT NULL, `value` TEXT NULL, INDEX `resource` (`resource_id`,`tv_id`)) ENGINE=MyISAM ERROR: Array ( [0] => 42000 [1] => 1071 [2] => Specified key was too long; max key length is 1000 bytes )
Думаю, так как на Модхосте таблицы со сравнением по умолчанию utf8mb4 а не utf8, не хватает длины индекса для поля Varchar(255). Вроде, по умолчанию, во всяком случае для utf8mb4, считается 4 байта на символ, MyISAM ограничивает до 1000 байт, а InnoDB итого меньше (765 кажется). Получаем 255*4 = 1020, плюс resource_id… В общем, может, tv_id => INT, или, хотя бы VARCHAR(240)?
    Павел Гвоздь
    21 января 2019, 20:15
    +1
    Благодарю за внимательность!
    А мне вот не понятно, как так вышло, что в схеме базы у меня tv_id типа varchar… Видимо, когда писал схему был молодой и горячий. =) Новая версия ушла в репозиторий.

    UPD:
    К сожалению не могу плюсануть.
      Виктор Долгий
      21 января 2019, 23:09
      +1
      Спасибо, Павел, что обратили внимание и исправили ;) И большое спасибо за то, что уделяете время бесплатному и полезному компоненту. Принял плюс в карму =)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.