Всего 123 994 комментария

Александр Туниеков
27 ноября 2024, 08:38
0
Таки накосячил в myTpl :-). Надо так
{foreach $ress as $res}
    <p> {$res.id} {$res.surname}</p>
{/foreach}
Александр Туниеков
27 ноября 2024, 08:26
0
Сделаю примерно без проверки кода. Для MODX2.8
[[!pdoSurname?
&parents=`65,20`
&tpl=`myTpl`
]]
$pdo = $modx->getService('pdoFetch');
$pdo->setConfig([
    'parents'=>$parents,
    'limit'=>0,
    'return'=>'data'
]);
$ress = $pdo->run();
foreach($ress as $k=>$res){
    $new_array = explode("br" , $res['pagetitle']);
    $ress[$k]['surname'] = end($new_array);
}
function querySort ($x, $y) {
     return strcasecmp($x['surname'], $y['surname']);
}
usort($ress, 'querySort');
$pdo->getChunk($tpl,['ress'=>$ress]);
myTpl
{foreach $ress as $res}
    <p> {$id} {$surname}</p>
{/foreach}
Код не проверял. Возможно мелкие ошибки. И strcasecmp не знаю понимает ли юникод…
Александр Туниеков
26 ноября 2024, 17:14
0
В vesp долго переезжать. Нету модульности никакой и с авторизацией, в смысле с разграничением прав, там Василий особо не напрягался :-)
Александр Туниеков
26 ноября 2024, 17:11
0
В primeVue в дереве нельзя перемещать узлы. Пробую для дерева другой компонент не из primeVue. И там у меня задумки для дерева. Сделать может и быстрее сделаю, а пока мечусь толи так толи так. И поле загрузки файлов это вообще не файл менеджер. Думаю еще как делать. Толи файл-менеджер как в админке модекс, толи как в msGalery.
Наумов Алексей
26 ноября 2024, 15:41
0
Параметр sortby сортирует по полю в базе. У вас в базе нет поля «pagetitle:getSurname», есть только «pagetitle».

Я бы предложил фамилию записать в отдельное поле и без проблем по ней сортировать.
Серый
26 ноября 2024, 15:21
0
Либо еще вариант — это написать сниппет, которому отдаем список родителей, а он из них делает список id отсортированный по фамилиям, то есть той части pagetitle, которая идёт после тега br.
Но сам не сдюжу, прошу помочь.
Даниил
26 ноября 2024, 13:01
0
Забыл написать версия modx 3.0.5
И сама форма
<form data-si-form="FormSlider" data-si-preset="slider_form" data-si-event="submit" data-si-nosave>
    <label>
        <input type="text" name="name" placeholder="Полное имя">
        <p data-si-error="name"></p>
    </label>
    <label>
        <input type="text" name="email" placeholder="Email">
        <p data-si-error="email"></p>
    </label>
    <label>
        <input type="tel" name="phone" placeholder="+7(">
        <p data-si-error="phone"></p>
    </label>
    <label for="politics">
        <input type="checkbox" name="politics" id="politics">
        Я на всё согласен!
    </label>
    <button type="submit">Отправить</button>
</form>






Я на всё согласен!

Отправить
Даниил
26 ноября 2024, 12:16
0
Аналогичная проблема пишет «Невалидный токен»
Версия бд
Apache:
2.4.55
Панель управления Beget MySQL:
5.7.21-20-beget
Панель управления Beget Nginx:
1.21.1
Панель управления Beget Perl:
5.14.2
Панель управления Beget PHP:
8.3
Панель управления Beget Python:
2.7.3

Вот что в консоли
{"success":false,"message":"\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0439 \u0442\u043e\u043a\u0435\u043d.","data":{"successMessage":"\u0424\u043e\u0440\u043c\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430!","hooks":"FormItSaveForm,email","emailTpl":"siDefaultEmail","emailFrom":"noreply@complab59.ru","formName":"SimpleForm","emailSubject":"\u041f\u0438\u0441\u044c\u043c\u043e \u0441 \u0441\u0430\u0439\u0442\u0430 complab59.ru","validate":"email:email:required,name:required,politics:required","sendGoal":"0","counterId":""}}
{success: false, message: "Невалидный токен.",…}
data
: 
{successMessage: "Форма отправлена!", hooks: "FormItSaveForm,email", emailTpl: "siDefaultEmail",…}
counterId
: 
""
emailFrom
: 
"noreply@complab59.ru"
emailSubject
: 
"Письмо с сайта complab59.ru"
emailTpl
: 
"siDefaultEmail"
formName
: 
"SimpleForm"
hooks
: 
"FormItSaveForm,email"
sendGoal
: 
"0"
successMessage
: 
"Форма отправлена!"
validate
: 
"email:email:required,name:required,politics:required"
message
: 
"Невалидный токен."
success
: 
false
Вот чанк

{'RenderForm' | snippet: [
'tpl' => 'FormSlider',
'presetName' => 'slider_form',
'extends' => 'default',
'hooks' => 'FormItSaveForm,email',
'redirectTo' => 0,
'redirectTimeout' => 3000,
'clearFieldsOnSuccess' => 1,
'fieldNames' => 'name==Имя,phone==Телефон,email==Почта',
'validate' => 'phone:required,age:required,name:required,email:email:required,politics:checkbox:required',
'successMessage' => 'Форма отправлена!',
'validationErrorMessage' => 'Исправьте ошибки!'
]}

вот форма







Я на всё согласен!

Отправить
Stepan
26 ноября 2024, 09:34
0
В критерия должны передаваться параметры where это все что можно передать
т.е.
возможно только так
$criteria = array(
    "article:LIKE => "%{$qwery}%"
);
$modx->removeCollection('you_class', $criteria);
AM
AM
25 ноября 2024, 22:34
0
Вдруг кому понадобится… Прописать TV параметр в источнике файлов для MIGX можно так (для примера TV `ln`):

[[!migxResourceMediaPath? &pathTpl=`assets/resourceimages/{tv_value}/` &tvname=`ln` &createFolder=`1` ]]
Sergey (Sentinel)
25 ноября 2024, 21:01
0
Привет
Подскажи, пжл как добавить поля из компонента msFieldsmanager?
Скрин
Николай Савин
25 ноября 2024, 19:10
0
но их делать месяц два на каждый
Это ж есть все в PrimeVue. Нужно только адаптировать и написать коннекторы к PHP
Futuris
25 ноября 2024, 17:22
0
Слабовато в этом все понимаю, но все равно интересно) А VESP Васи Безумкина не рассматривал для решения подобных задач? Там все вроде есть нужное, и авторизация и VUE и т.д.
Александр Туниеков
25 ноября 2024, 13:39
0
интересно, а не быстрее ли было бы перенести весь сайт с требуемым функционалом на пхп фреймворк…
врядли. gtsAPI 2000 строк. А весь сайт 20 компонентов по 1000-2000 строк
Александр Туниеков
25 ноября 2024, 13:37
0
также, раз используется библиотека primeVue нужно посмотреть, компоненты из этой библиотеки грузятся в приложение все или только те что используются
Какие указал те и грузятся вроде. И ядро primeVue. Ладно это сейчас не интересно. Думаю то что нужно то и грузится.
ну тут скорее проблема в том, что данный подход пытается добавить в изначально устаревший подход разработки с modx чтото новое и удобное, изза этого и выходят трудности о необходимости пересборки, ошибок и тд.
Трудности есть везде. Например в Nuxt модуль Auth еще на стадии бета. А с авторизацией не хочется возится. Вроде и базовая вещь, но правильно спрограмировать сложно. Авторизация, группы MODX вполне устраивают.
Александр Туниеков
25 ноября 2024, 13:24
0
во вью можно делать отложенные импорты компонентов
Понятно думал есть что получше.
Алексей Соин
25 ноября 2024, 11:48
0
gtsAPI и PVTables заняло год и то все что хочелось не реализованно
интересно, а не быстрее ли было бы перенести весь сайт с требуемым функционалом на пхп фреймворк…
Алексей Соин
25 ноября 2024, 11:44
0
ну тут скорее проблема в том, что данный подход пытается добавить в изначально устаревший подход разработки с modx чтото новое и удобное, изза этого и выходят трудности о необходимости пересборки, ошибок и тд.

А зачем вообще разбивают на чанки? В SPA все равно же все грузиться сразу или я что-то еще не разобрался…
во вью можно делать отложенные импорты компонентов, допустим у тебя модальное окно редактирования вызывается только после нажатия на кнопку редактирования, то и нет смысла его грузить заранее, а лучше это делать по мере надобности.

также например у тебя spa, ты находишься на странице списка элементов, то компоненты для детальной страницы не должны грузиться одним бандлом, логичнее их грузить чанками по мере надобности

также, раз используется библиотека primeVue нужно посмотреть, компоненты из этой библиотеки грузятся в приложение все или только те что используются, это тоже увеличивает бандл

Ачто там есть АПИ в первый раз слышу.
modzone.ru/blog/2021/02/04/zoomx-2.0-controllers-resful-api/