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

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

Был в сети 14 августа 2026, 18:06
Заказы принимаю
для 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>"
            }
        }
код примерный
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_что-то-там
На update какая-то ошибка на поцессоре
'processors'=>['modResource'=>'resource/update'],
Без него работает.
для actions я чанк сперва не сделал. думал потом сделаю, а потом возникла проблема как код перевести в чанк и снова отложилось.
Если у вас включено создание ресурсов
"actions": {
            "create": [],
То нужно еще прописывать поля: pagetitle,parent,template. И лучше наверно через процессор создавать ресурсы
'actions'=>[
            'create'=>[
                'processors'=>['modResource'=>'resource/create',],
            ],
            'update'=>[
                
            ],
        ],
Если нужен пример выше в системную настройку, то создаем сиснастройку, например, 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`]]
Не пользовался quickview. Так что не знаю что получиться. Вообще в любом чанке должно сработать. А вот если quickview сам чанк по ajax подгружает может скрипты js не подгрузятся. И если у quickview модалки бутстраповкие проблемы с модалками могут возникнуть. Там новая модалка может ниже старой открыться и стратая будет закрывать ее.
Вообще попробуйте затестить и отпишитесь что как :-).
'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,
                         ]
                    ]
               ],
Я тебе про современны подход ответил, а у тебя фантазия разыгралась)
Извиняюсь :-). Настроение было подпорчено.
Вообще охота чтоб кто-то написал про все преимущества MODX, его нищу на рынке и провел сравнение с другими CMS и фреймворками. В смысле я бы сам хотел написать такое, но пока не настолько уж горю желанием, чтобы время, которого не очень, выделить. И другие CMS и фреймверки знаю плохо.
это когда ты программист высокого уровня, и тебе это все надо
Вот сразу программист высокого уровня :-). composer и все остальное еще не делают программиста программистом высокого уровня :-). Дебилом можно и с ними быть…
Что-то обсуждение не полезное. Выясняешь что полезного можно добавить в MODX, а в ответ только модные стериотипы О_о.
Ну API solidworks из под php не запустишь, но вот языков фреймворков для веба много, в частности скриптов интернет-магазинов. Здесь знакомый инструмент более важно, чем более подходящий. Хотя если в инструменте уже куча готовых дополнений, то имеет смысл перейти на него. Но такого иструмента лучше MODX я не вижу.
Хотя тут под какие задачи его использовать. Вообщем надо опрос. Под какие задачи используется MODX? И под какие задачи нужен новый MODX?
REST Api на бэке по всем канонам OpenAPI, React/Vue/Angular на фронте, который дергает это апи.
А вот оно что. Просто современный подход довольно расплывчатое понятие.
Ну при таком подходе чанки, сниппеты, тв втыкать вообще некуда. Как при таком подходе сделать CMF вообще? И это уже, во первых, будет не MODX-like, и, во вторых, подобные «современные» системы уже есть. Зачем городить еще одну…
пишешь php коннектор на сайте. В нем авторизуешься так:
modx.pro/help/15381
И в нем же пишешь методу, через которые забираешь данные с сайта в приложение.
Я давным давно делал так github.com/touol/android/blob/master/assets/components/android/action.php
Но это уже устарело. Счас бы наверно по другому писал.