Всего 125 667 комментариев

Alexey
11 марта 2021, 12:36
0
Да, через SuperBoxSelect норм отображается, спасибо!
Андрей
11 марта 2021, 11:16
0
Разобрался с созданием таблицы и класса через MIGX. Геттаблес все отлично выводит, хотя в логах появляются ошибки

[2021-03-11 11:09:44] (ERROR @ L:\mysites\OpenServer\domains\test.ru\core\xpdo\xpdo.class.php : 644) Could not load class: pages from pages.
[2021-03-11 11:09:44] (ERROR @ L:\mysites\OpenServer\domains\test.ru\core\xpdo\xpdo.class.php : 1247) Problem getting service pages, instance of class pages, from path L:/mysites/OpenServer/domains/test.ru/core/components/pages/model/
[2021-03-11 11:09:44] (ERROR @ L:\mysites\OpenServer\domains\test.ru\core\xpdo\xpdo.class.php : 644) Could not load class: pages from pages.
[2021-03-11 11:09:44] (ERROR @ L:\mysites\OpenServer\domains\test.ru\core\xpdo\xpdo.class.php : 1247) Problem getting service pages, instance of class pages, from path L:/mysites/OpenServer/domains/test.ru/core/components/pages/model/pages/
Новые записи в таблицу геттаблес не создает, ругается на пустое значение resource_id. Это и понятно, ведь мы его не передаем в сниппет. Так? Уже созданные записи в бд отлично редактируются и в геттаблес. Просто сказка! Осталось исправить ошибку с созданием новых записей.
Андрей
11 марта 2021, 09:17
0
Может у вас включена двухфакторная аутентификация, и тогда там для внешних приложений генерируется отдельный пароль
Евгений
11 марта 2021, 07:37
0
не помогло, тем более что права настроены для админа и для анонима с этой политикой
в чем может быть проблема?
Алексей Смирнов
10 марта 2021, 23:43
0
Конечно. Берете MIGX и скрещиваете с этой картой. и все гуд. Правда ужно сделать пару исправлений.
Или создаете 2 TV поля, но есть вероятность что не будет работать — нужно тестить.
Александр Туниеков
10 марта 2021, 21:13
0
Наверно, кстати, я не верно первоначальный вопрос понял. Если tv MIGX создавать в базе через migxdb, то вывести эту табличку можно через getTables без проблем. Я просто тв уже редко использую и обычно таблицы к ресурсам MODX не привязываю.
Пример вывода для таблицы https://www.tale.by/assets/docs/default.schema.xml из из статьи Товары из отдельной таблицы (migxdb:
{'getTable' | snippet : [
    'loadModels'=>'pages',
    'table'=>[
        'class'=>'CustomPages',
        'actions'=>[
            'create'=>[
            ],
            'update'=>[
                
            ],
        ],
        'pdoTools'=>[
            'class'=>'CustomPages',        
        ],
        'checkbox'=>0,
        'autosave'=>1,
        'row'=>[
                'id'=>[
                    ],
                'resource_id'=>[
                    'label'=>'Ресурс ID',
                    'edit'=>['type'=>'hidden',
                    ],
                    'filter'=>[
                     'edit'=>['type'=>'text',],
                     ],
                ],
                'pagetitle'=>[
                    'label'=>'Имя',
                    'filter'=>1
                ],
                'longtitle'=>[
                    'label'=>'Описание',
                    'edit'=>['type'=>'textarea',
                    ],
                ],
                'published'=>[
                    'label'=>'Опубликован',
                    'edit'=>['type'=>'checkbox',],
                ],
            ],
    ],
]}
Примерный сокращенный код. Не проверял его работу. Если разместить его на какой-либо странице и зайти на неё с get или post параметром resource_id=15, то покажет покажет CustomPages прикрепленные к ресурсу с id=15.
Игорь Терентьев
10 марта 2021, 18:14
0
У меня на 2.8.1-pl работает
Михаил
10 марта 2021, 17:50
0
ставлю tickets, так же ругается почти. кодировка стоит utf8mb4_general_ci
Поставил utf8_general_ci, установилась, потом сопоставление вернул на utf8mb4_general_ci
Будут какие то последствия в работе?
Alex
10 марта 2021, 17:21
0
Решил
Для начало скопируем существующий js от pdopage
В скопированном js Делаем следующие действия:
1)Меняем в строке 22. выглядеть строка должна так
var match = href.match(new RegExp(key + '=(\\d+)'));
Меняем знак "=" в регулярном выражении на ваш, в данном случае это "-".
Будет вот так
var match = href.match(new RegExp(key + '-(\\d+)'));
2)Повторяем шаг выше только на строке 127, так же меняем знак "=" в регулярном выражении на свой в данном случае на "-".

Затем загружаем модифицированную копию pdopage js на сайт, копируем путь к файлу.

Далее в вызове pdopage добавим данный параметр
&frontend_js
и в значение этого параметра ставим путь вашего модифицированного файла. Будет примерно так
&frontend_js=`/assets/static/js/pdotools/pdopage.edited.min.js`
Чистим кэш, и радуемся!

Довольно странно что такое не ввели изначально, вроде поменять 1 символ 2 раза, при том что остальная часть реализовано на 99%, почему не генерить регулярку на основе нового параметра с использованием pageLinkScheme, добавить новый параметр типо «pageLinkSchemeSeparator» и как бы все, далее тоже не сложно.
Александр Туниеков
10 марта 2021, 17:14
0
Ну я бы точно на геттаблес делал. Но для вас смотрите сами что вам удобной. Я сейчас на геттаблес табель учета рабочего времени делаю :-).
Только для вашей задачи было бы хорошо если геттаблес еще дерево мог строить, но он этого пока не умеет. Времени не хватает сделать. А подгружать subtable на 3 уровня не очень хорошая идея. А так бы все можно было бы на компоненте сделать.
Несколько вопросов есть:
1) «основные разделы общие для всех проектов» — то есть могут создаваться и другие разделы?
2) Создавать проект через ajax или перезагрузка таблицы?
3) открывать to-do лист по ajax или можно ссылку на отделную страницу?

Можно связаться по скайп. Мой скайп touols
Виноградов Тимур
10 марта 2021, 17:06
0
«SSL» попробовал, не помогает.
mail_smtp_user и mail_smtp_pass такие же как для входа в ящик. В почту захожу без проблем.

>>Либо в настройках ящика отключена авторизация через smpt.
Разве есть такие настройки на стороне mail.ru?
Роман
10 марта 2021, 16:52
0
Скорее всего. >>Либо в настройках ящика отключена авторизация через smpt.
Андрей
10 марта 2021, 16:39
0
Да, уровень у меня начальный, вы правы.
Объясню в двух словах, возможно вы посоветуете общее направление куда копать.
Есть задача сделать простой менеджер проектов на фронте. Т.е. пользователь создает проект, (ресурс modx), внутри автоматом генерятся основные разделы общие для всех проектов (вводная инфа по проекту, этап1, этап2, этап3, сдача проекта). А вот внутри этих разделов может быть любое количество разных задач. Задачи это to-do листы. Список чекбоксов. По сути та же редактируемая таблица, что может создавать ваш компонент. Через него очень удобно редактировать название задачи, менять и сохранять ее статус. Вот думаю как бы меньшими силами это воплотить. MIGX удобен готовым механизмом хранения и обработки табличных данных, но, как вы и говорите, вытаскивать ExtJs на фронт тяжко. По сути нужен удобный типTV.
Спасибо за оперативный ответ.
Роман
10 марта 2021, 16:39
+1
Попробуй через SuperBoxSelect, там он разделяет через || Возможно с ним заработает, как нужно. По другому пока, не очень представляю, как обойти.
Александр Туниеков
10 марта 2021, 16:11
0
Ок. Помощь в освоении нужна? Компонент достаточно сложный и даже я не все инструкции не помню.
Александр Туниеков
10 марта 2021, 16:09
0
даже не знаю как объяснить :-). Ваш уровень владения MODX не понятен.
Есть таблица в базе mysql. Есль классы в MODX для связи с таблицей в базе. Таблицу и классы проще создать через MIGX.
Компонент getTables чтобы вывести таблицу пользователю чтоб он мог редактировать в ней данные. Это аналог MIGX, только без ExtJs. Использовать можно и на фронте и в админке.
Надеюсь понятно. Можно по скайпу связаться если не понятно.
Александр Туниеков
10 марта 2021, 15:53
0
Добрый день! Сами таблицы компонента с MIGX не связанны. С MIGX просто быстрей таблицы в базе mysql сделать. А потом все без MIGX.