Александр Туниеков

Александр Туниеков

С нами с 19 декабря 2015; Место в рейтинге пользователей: #15
Александр Туниеков
05 октября 2020, 22:58
+1
custom должно быть в массиве actions
Вот мой конфиг:
{'getTable' | snippet : [
    'showLog'=>1,
    'toJSON'=>1,
    'table'=>[
        'class'=>'modResource',
        'actions'=>[
            'create'=>[
                
            ],
            'update'=>[
                'processors'=>['modResource'=>'resource/update',],
            ],
            'custom' =>[
                'action'=>"getTable/custom",
                'row' => [],
                'cls'=>'red',
                'icon' => 'glyphicon glyphicon-edit',
                'tag' =>'a',
                'attr' => 'data-data-tag',
            ],
        ],
        'pdoTools'=>[
             'class'=>'modResource',
             'parents'=>258,
             'includeTVs'=>'icon,price',
        ],
        'checkbox'=>0,
        'autosave'=>1,
        'row'=>[
                'id'=>[
                    ],
                'content'=>[
                    ],
                'icon'=>[
                    'class'=>'TV',
                    ],
                'price'=>[
                    'class'=>'TV',
                    ],
                'test'=>[
                    'label'=>'quickview',
                    'content'=>'<a >da</a>',
                    'edit'=>false,
                    ],
            ],
    ],
]}
только в custom всетаки ошибка забыл кавычки поставить. Ладно попробую сегодня новую версию getTables выпустить.
Но все таки зачем вам quickview что вы в нем хотите сделать? может это по другому решать надо?
Александр Туниеков
05 октября 2020, 16:53
+1
для quickview наверно стоит попробывать action
'custom' =>[
                'action'=>"getTable/custom",
                'row' => [],
                'icon' => '',
                'tag' =>'a',
                'attr' => '',
            ],
и все что вам надо в attr запихать.

Только не понятно зачем вам quickview? И я под quickview компонент не планировал и не понятно как data-data-id=«1» в кнопку запихать. У меня все data-id в дата атрибутах строки запиханы. yadi.sk/i/0bBau5HI-TkEmA. На action кнопках данные строки не подставляются.

Вы еще можете вместо добавления кнопки в колонку действия, запихать кнопку в отдельную колонку.
"row": {
            "id": [],
            "partner_condition_multi": {
                "class": "TV"
            },
            "keywords": {
                "class": "TV"
            },
            "test": {
                "label":"quickview",
                "content":"<a class=\"quickview\" data-click
			data-quickview-mode=\"modal\"
			data-data-action=\"chunk\"
			data-data-element=\"test\"
			data-data-id=\"{$id}\"
			data-dialog-buttons='[\"close\"]'
			> </a>"
            }
        }
код примерный
Александр Туниеков
05 октября 2020, 16:26
+1
gettables_mgr_framework_style — стиль для админки. gettables_frontend_framework_style — для фронта.
Если gettables_frontend_framework_style=bootstrap_v3 по умолчанию грузятся чанки заданные в наборе параметров getTables_bootstrap_v3 yadi.sk/i/Mio_2Fxn2r79jg
Если gettables_frontend_framework_style=bootstrap_v4, то набор параметров getTables_bootstrap_v4, а если gettables_frontend_framework_style=test, то будет пробовать найти набор параметров getTables_test

чтоб грузило css и js надо включить соответствующие gettables_load_frontend_framework_style. Включение загрузки задается в gettables_load_что-то-там
Александр Туниеков
05 октября 2020, 16:14
0
Мда… так и знал стоит выложить и куча работы добавят :-).
Александр Туниеков
05 октября 2020, 16:11
+1
На update какая-то ошибка на поцессоре
'processors'=>['modResource'=>'resource/update'],
Без него работает.
для actions я чанк сперва не сделал. думал потом сделаю, а потом возникла проблема как код перевести в чанк и снова отложилось.
Александр Туниеков
04 октября 2020, 21:10
+1
Если у вас включено создание ресурсов
"actions": {
            "create": [],
То нужно еще прописывать поля: pagetitle,parent,template. И лучше наверно через процессор создавать ресурсы
'actions'=>[
            'create'=>[
                'processors'=>['modResource'=>'resource/create',],
            ],
            'update'=>[
                
            ],
        ],
Александр Туниеков
04 октября 2020, 20:45
+1
Так у вас в конфиге нет же tabs. Табов нет только таблица. Вызывайте getTable
[[!getTable? &config=`gettables_admin`]]
Александр Туниеков
04 октября 2020, 18:39
+1
getTable вызывает таблицу, а getTabs — табы. &config в обоих работает.
Наверно позже 1 сниппет сделаю, чтоб табы или таблица сам из инструкций определял.
Александр Туниеков
04 октября 2020, 18:38
+2
Если нужен пример выше в системную настройку, то создаем сиснастройку, например, test_gettable_tv в нее записываем json массив:
{
    "table": {
        "class": "modResource",
        "actions": {
            "create": [],
            "update": []
        },
        "pdoTools": {
            "class": "modResource",
            "parents": 258,
            "includeTVs": "icon,price"
        },
        "checkbox": 0,
        "autosave": 1,
        "row": {
            "id": [],
            "content": [],
            "icon": {
                "class": "TV"
            },
            "price": {
                "class": "TV"
            }
        }
    }
}

И вызываем getTable
[[!getTable? &config=`test_gettable_tv`]]
Александр Туниеков
04 октября 2020, 18:29
0
Системная настройка gtsreview_admin есть? И там массив в JSON? В массиве есть инструкция tabs на верхнем уровне? :-)
Александр Туниеков
04 октября 2020, 18:23
+1
Не пользовался quickview. Так что не знаю что получиться. Вообще в любом чанке должно сработать. А вот если quickview сам чанк по ajax подгружает может скрипты js не подгрузятся. И если у quickview модалки бутстраповкие проблемы с модалками могут возникнуть. Там новая модалка может ниже старой открыться и стратая будет закрывать ее.
Вообще попробуйте затестить и отпишитесь что как :-).
Александр Туниеков
01 октября 2020, 18:05
+1
'includeTVs'=>'icon,price', — pdoTools делает leftJoin
А для 'class'=>'TV',
'price'=>[
                    'class'=>'TV',
                    ],
getTables преобразует в
3 => 
        array (
          'field' => 'price',
          'type' => 'text',
          'label' => 'price',
          'placeholder' => 'price',
          'where_field' => '`TVprice`.`value`',
          'class' => 'modTemplateVarResource',
          'search_fields' => 
          array (
            'contentid' => 'id',
            'tmplvarid' => 1,
          ),
          'value_field' => 'value',
          'as' => 'price',
        ),
where_field используется если для поля включен фильтр.
По class и search_fields определяется в какую таблицу базы в какую строку писать изменения.
Эти инструкции можно самим писать. Кажется так:
'price'=>[
                    'class'=>'modTemplateVarResource',
                    'edit'=>[
                          'type'=>'text',
                         'where_field'=> '`TVprice`.`value`',
                         'search_fields' => 
                          [
                            'contentid' => 'id',
                            'tmplvarid' => 1,
                         ]
                    ]
               ],
Александр Туниеков
01 октября 2020, 17:41
+1
Сейчас вспоминал. Вот что получилось:
{'getTable' | snippet : [
    'table'=>[
        'class'=>'modResource',
        'actions'=>[
            'create'=>[
            ],
            'update'=>[
                
            ],
        ],
        'pdoTools'=>[
             'class'=>'modResource',
             'parents'=>258,
             'includeTVs'=>'icon,price',
        ],
        'checkbox'=>0,
        'autosave'=>1,
        'row'=>[
                'id'=>[
                    ],
                'content'=>[
                    ],
                'icon'=>[
                    'class'=>'TV',
                    ],
                'price'=>[
                    'class'=>'TV',
                    ],
            ],
    ],
]}


Только надо иметь ввиду, что таблица пишет в тв даже если к этой странице не привязанно такое TV.
Александр Туниеков
27 сентября 2020, 00:30
0
Кто-нибудь уже начал компонент использовать тестить? Как впечатления?
Александр Туниеков
25 сентября 2020, 06:14
0
Я тебе про современны подход ответил, а у тебя фантазия разыгралась)
Извиняюсь :-). Настроение было подпорчено.
Вообще охота чтоб кто-то написал про все преимущества MODX, его нищу на рынке и провел сравнение с другими CMS и фреймворками. В смысле я бы сам хотел написать такое, но пока не настолько уж горю желанием, чтобы время, которого не очень, выделить. И другие CMS и фреймверки знаю плохо.
Александр Туниеков
23 сентября 2020, 22:53
0
это когда ты программист высокого уровня, и тебе это все надо
Вот сразу программист высокого уровня :-). composer и все остальное еще не делают программиста программистом высокого уровня :-). Дебилом можно и с ними быть…
Что-то обсуждение не полезное. Выясняешь что полезного можно добавить в MODX, а в ответ только модные стериотипы О_о.
Александр Туниеков
23 сентября 2020, 17:43
0
Ну API solidworks из под php не запустишь, но вот языков фреймворков для веба много, в частности скриптов интернет-магазинов. Здесь знакомый инструмент более важно, чем более подходящий. Хотя если в инструменте уже куча готовых дополнений, то имеет смысл перейти на него. Но такого иструмента лучше MODX я не вижу.
Хотя тут под какие задачи его использовать. Вообщем надо опрос. Под какие задачи используется MODX? И под какие задачи нужен новый MODX?
Александр Туниеков
23 сентября 2020, 16:50
0
REST Api на бэке по всем канонам OpenAPI, React/Vue/Angular на фронте, который дергает это апи.
А вот оно что. Просто современный подход довольно расплывчатое понятие.
Ну при таком подходе чанки, сниппеты, тв втыкать вообще некуда. Как при таком подходе сделать CMF вообще? И это уже, во первых, будет не MODX-like, и, во вторых, подобные «современные» системы уже есть. Зачем городить еще одну…