[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
modx.pro
6
1 620
+22
Поблагодарить автора Отправить деньги

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

Дмитрий
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
                Спасибо, Павел, что обратили внимание и исправили ;) И большое спасибо за то, что уделяете время бесплатному и полезному компоненту. Принял плюс в карму =)
              Pavel Kravchuk
              07 мая 2020, 22:14
              0
              Подскажите пожалуйста, добавил поле в в MIGX, про добавлении новых записей, новые теги сохраняются, по при раскрытии списка, добавленные теги не выводятся и список пустой. Как можно пофиксить данную проблему?
                Алексей Андреев
                20 октября 2020, 12:21
                0
                Столкнулись с тем, что на андроиде не работает удаление (крестик) значения в админке. В штатном браузере, в хроме и опере. На айфоне и айпаде всё нормально. Пробовали ставить так же и тему MetroniX, т.к. основная задача была обеспечить работу с админкой через мобильные. Как бы решить эту проблему?
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  17