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

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

С нами с 19 декабря 2015; Место в рейтинге пользователей: #15
Александр Туниеков
04 июля 2021, 00:58
0
Так зачем было заливать компонент, чтобы каждый его настраивал потом самостоятельно, просто дал бы ссылку на гит и все, и вопросов не было.
Уговорили. Убрал с модсторе. Пусть гит юзают.
А вообще, компонент может стать и нужным, если его довести до ума. Но, это уже твое дело.
Проблема в верстке. Её же универсальной не сделаешь :-(
Александр Туниеков
04 июля 2021, 00:53
0
И что? Пусть ресурсы создаются с правильным id, а во всех чанках вместо
[[~103]]
указываем переменную и потом при создании чанка меняем переменную на нужный тег. Главное чтобы ресурсы создавались первыми.
Вот это все не понял. В смысле с правильным id? Это с каким?
Александр Туниеков
03 июля 2021, 23:53
0
Ну от вас такого не ожидал О_О.
Build.php только создает vehicle файл в транспортный пакет. И при установке из vehicle ресурсы создаются установщиком MODX без участия какого-то моего кода. Конечно можно написать ресолвер, который после установки выловит id ресурсов по их алиас, и записать их в системные настройки, но еще надо будет опять же ресолвером установить родителей ресурсов.
Не такой уж и важный пакет чтоб этим заморачиваться. Я на тестах его использую, а для заказчиков обычно Office ставлю.
Александр Туниеков
03 июля 2021, 23:38
0
Расскажешь, что проблемного в том, чтобы взять кусок кода из build.php, отвечающий за создание ресурсов, и дописать к нему сохранение id хоть в свою таблицу, хоть в системные настройки?
Ну ну :-). Вообще-то build.php только собирает транспортный пакет и при установке пакета (при создании ресурсов) никак не выполняется. Так что твое предложение лажа :-).
но у новичков с ним возникнет больше головной боли, чем пользы
Новичкам, наверно, полезно самим настроить login, а не через пакет. И только потом решать пользоваться пакетом или нет.
Вообще мне при создании тестовых сайтов и своих требуется авторизация и каждый раз ее с нуля поднимать геморойно. А пакетом быстро поставил и тестируй дальше.
Александр Туниеков
03 июля 2021, 20:36
-2
В чем проблема создать эти ресурсы и сохранить их id динамически, это непосильная задача?
Это проблемная задача. Если хочешь реши ее и всем будет счастье :-). Вообще тон твоего комментария вызывает впечатление, что тебе лишбы погавкать :-). Извиняюсь конечно за прямоту, но вот такое впечатление у меня.
Александр Туниеков
03 июля 2021, 20:30
0
pdoTools просто чтоб был. Мне он нужен. А Theme.Bootstrap — это готовая верстка шаблона. В личный кабинет подтягивается шаблон из Theme.Bootstrap и под него верстка чанков Login делается. Без Theme.Bootstrap компонент вообще нельзя было бы написать. Проблема в том какую верстку под страницы писать.
для универсального использования (что как бы подразумевается для пакетов)
Такой пакет как этот нельзя сделать для универсального использования. На каждом сайте своя верстка.
Александр Туниеков
03 июля 2021, 20:21
0
Очень рисково включать fenom после установки, т.к. сайт может повалиться из-за инлайновых скриптов или инлайновых JS атрибутов, где стоит фигурная скобка и после неё символ :)
Я предупредил, что включается, а использовать пакет или нет ваше дело. Или собрать свой без фенома.
Интересно же почему так? При создании объектов железно прописываешь им айди?
Это с modExtra пошло. Он назначает у ресурсов id автоматически с 1, чтобы родителей ресурсов прописывать. github.com/bezumkin/modExtra/blob/8295c2a6e987a0427c40ade90acb594be28b5696/_build/build.php#L614
Я просто прописал свои id чтобы на не перезаписывать ресурсы что уже были.
Александр Туниеков
21 июня 2021, 17:03
0
блин ответ писал развернутый и ошибка выскочила. Вообщем сборка под себя и если у кого-то те же предподчения то им пойдет. А тем кому не подойдет пусть свою сборку пишут. Всем не угодишь.
Александр Туниеков
20 июня 2021, 19:44
0
Можно конечно. Просто может вам свой пакет нужен, чтоб ничего потом не редактировать.
Александр Туниеков
20 июня 2021, 17:34
0
Хм… Пакет в модсторе на модерации. Как пройдет модерецию можно будет с него ставить. Но, конечно, лучше под себя отредактировать все. Это делаете копию c github в ваш_сайт/Extras, редактируете и устанавливаете из браузера ваш_сайт/Extras/loginSetting/_build/build.php. На рабочем сайте ваш_сайт/Extras удалить!!!
Александр Туниеков
24 марта 2021, 17:22
0
Установи новую версию getTables c модсторе. Исправил глюк с search_field один.
У тебя редактируется несколько таблиц сразу. И так компонент сделан, что найти основную таблицу все равно надо. Я переделал код для этого. Смотри:
{'getTable' | snippet : [
    'showLog'=>1,
    'table'=>[
        'class'=>'modUserGroupMember',
        'actions'=>[
            
            'update'=>[
                'cls' => 'btn btn-default',
                'icon' => 'fa fa-edit',
            ],
        ],
        'pdoTools'=>[
            'class'=>'modUserGroupMember',

            'limit'=>'5',
            'leftJoin'=>[
                'modUserProfile'=>[
                    'class' => 'modUserProfile',
                    'on' => 'modUserProfile.internalKey = modUserGroupMember.member',
                ],
                'modUser'=>[
                    'class' => 'modUser',
                    'on' => 'modUser.id = modUserGroupMember.member',
                ],
                
            ],
            'where'=>[
                'modUserGroupMember.user_group'=>3,
            ],
            'select'=>[
                'modUserProfile'=>'*',
                'modUserGroupMember'=>'modUserGroupMember.id',
            ],
            'groupby'=>'modUser.id',
        'decodeJSON'=>1,
        ],
        'checkbox'=>1,
        'autosave'=>1,
        'row'=>[

                'internalKey'=>[
                    'label'=>'id',
                    'edit'=>[
                        'type'=>'view',
                    ],
                    'data'=>1,
                ],

                 'fullname'=>[
                    'label'=>'Имя',
                    'filter'=>1,
                    'class'=>'modUserProfile',
                    'edit'=>[
                        'type'=>'text',
                        'search_fields'=>['internalKey'=>'internalKey', ],
                    ],
                    ], 
                 'email'=>[
                    'label'=>'Email',
                    'class'=>'modUserProfile',
                    'edit'=>[
                        'type'=>'text',
                        'search_fields'=>['internalKey'=>'internalKey', ],
                    ],
                    ], 
                 'count'=>[
                     'label'=>'Товаров',
                    ],
                 'sum'=>[
                     'label'=>'Сумма',
                    ],
                 'active'=>[
                     'label'=>'Статус',
                    ],
                    
            ],
    ],
]}

Только у меня на тестовом сайте минишопа нет и я убрал запросы к его таблицам при тестировании. Кстати в modUser ничего кроме username нету такого что можно вывести и тебе присоединять modUser и не надо.
На поле internalKey надо 'data'=>1, чтобы по нему записи в search_field искать
Александр Туниеков
24 марта 2021, 14:46
0
Блин некогда разбираться. Позже
Александр Туниеков
24 марта 2021, 13:04
0
я и сказал что все сниппеты не могут возвращать массив. Хоть из pdoTools хоть из чего. pdoFetch входит в pdoTools.
Александр Туниеков
24 марта 2021, 01:09
+2
pdoTools умеет возвращать массивы. Это сниппеты modx не умеют возвращать массивы. Только строки. Точнее выражайтесь плиз :-)
Александр Туниеков
24 марта 2021, 00:58
0
компонент у data атрибутов tr строки таблицы пишет данные строки. Обязательно пишет id. У тебя
select'=>[
                'modUserProfile'=>'*',
                'modUser'=>'*',
значит id пишется с modUser.id. 'class'=>'modUserGroupMember', Значит, по умолчанию, пытается найти строку в таблице modUserGroupMember с этим id и ничего не находит. Для того, чтобы компонент нашел нужную строку нужно в инструкциях поля указать нужную таблицу 'class'=>'modUserProfile', и прописать правило как из data атрибутов строки найти строку.
'search_fields'=>['internalKey '=>'id', ],
Здесь в sql запрос попадает update modUserProfile set fullname='что ввел' where internalKey = 5, если < tr data-id=«5»