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

Руслан Алеев
01 февраля 2022, 20:13
0
Здравствуйте, спасибо за компонент!
А можете скрин добавить, как заполненные поля и вкладки в админке выглядят? Не в ресурсе/профиле, а именно сам список добавленных полей.
Aleksandr Huz
01 февраля 2022, 19:55
+1
Добрый!
1. Нет лишних запросов в БД.
2. Фильтровать по родному полю быстрее чем по TV.
3. Удобство при создании/обновлении ресурса через API.
Sinaite
01 февраля 2022, 19:44
0
С юзерами понятно, я конкретно про ресурс спрашивал.
yuri
01 февраля 2022, 19:20
0
сами в поисках решения, судя по всему проблема в PdoPage когда он несколько раз на странице вызывается. Он не правильно формирует эти ссылки.
Я думаю, что скоро решение будет.
Sinaite
01 февраля 2022, 19:15
0
Добрый! Подскажите, а в чем преимущество создания дополнительных полей ресурса через данный плагин перед стандартными TV?
Денис Мижеревич
01 февраля 2022, 12:50
0
Было бы круто, если б вы написали, как делать, а ни только как не делать.
Просто так оставить нельзя, так как домены по городам не меняются.
Обычно, достаточно добавить, или сделать не кешируемой запись
<base href="[[!++site_url]]" />
.
На сайте, где я столкнулся с проблемой, каноникал уже был указан именно такой
<link rel="canonical" href="[[++site_url]]">
— то есть, суть не в том, чтобы эту запись добавить, а в том, что если эта запись есть, то вероятно, ее нужно сделать не кешируемой.
yuri
01 февраля 2022, 12:19
0
Не-не.
Если кто читает, не делайте так.

Проблема реально актуальная. Но если в каноникал воткнуть УРЛ, то как бы вы этим создадите другие проблемы, а не решите. У вас на все страницы будет отдаваться одна каноническая… с таким успехом, лучше оставить как есть, так они хотя бы меняются )
Илья Уткин
01 февраля 2022, 11:00
+3
Я готов записаться. Раз тут выходит MODX3, надо и свой уровень подтягивать, изучать новые подходы. Предлагаю создать либо отдельный телеграм-канал, чтобы потенциальные участники могли подписаться на новости и не пропустить начало курса. Либо просто сделать рассылку новостей на сайте с той же целью.

Ну и по количеству подписчиков будет ясно, кому это надо.
Павел Гвоздь
01 февраля 2022, 07:46
0
Но ведь GraphQL это не БД, а язык запросов. В какую базу будут выполняться запросы, это уже решает бекенд api.
Harmattan
31 января 2022, 19:17
0
Спасибо. Окончательно:
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnDocFormRender':
        if($mode == 'new'){
            if($resource->get('parent') == 8){
                if($count = $modx->getCount('modResource',['parent'=>$resource->parent])){
                $count = $count +1;
            }
            $resource->set('pagetitle',"Page  $count");}
        }
    break;
}
Алексей Смирнов
31 января 2022, 18:53
+1
Ну так и проверяйте на принадлежность к 8ке…
Harmattan
31 января 2022, 17:48
0
А ещё надоесть: как выполнить проверку на вложенность? То есть, данная функция должна быть доступна только для определённого ресурса (родителя). Чувствую, что надо использовать
$parentObj = $object->get('parent');
Но как осуществить проверку? К примеру, pagetitle должен подставляться только для потомков родителя с id=8.
Антон Тарасов
31 января 2022, 16:45
0
Прошу прощения, если инструкция была не совсем точна. Будет дополнена.
Harmattan
31 января 2022, 15:37
0
UPD. Прошу прощения — работает. Только почему-то только через Render — OnDocFormPrerender не хочет!
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnDocFormRender':
        if($mode == 'new'){
            if($count = $modx->getCount('modResource',['parent'=>$resource->parent])){
                $count = $count +1;
            }
            $resource->set('pagetitle',"Page $count");
        }
        break;
}
Спасибо большое.
Harmattan
31 января 2022, 15:25
0
Спасибо. В коллекциях не работает, а в папках считает.
Пробовал не через скрипт (подстановка в #modx-resource-pagetitle"), а через
$resource->set('pagetitle',$count);
Смысл тот же (подстановка в pagetitle), но не работает.
Александр Туниеков
31 января 2022, 14:27
+1
Можно попробовать плагин на ondocformprerender. https://docs.modx.com/current/en/extending-modx/plugins/system-events/ondocformprerender
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnDocFormPrerender':
        if($mode == 'new'){
            if($count = $modx->getCount("modResource',['parent'=>$resource->parent])){
                $count = $count +1;
            }
            $modx->regClientStartupHTMLBlock('
            <script type="text/javascript">
        		Ext.onReady(function() {
                    var pagetitle = Ext.select("#modx-resource-pagetitle");
                    pagetitle.setValue("Page '.$count.');
        		});
        	</script>');
        }
        break;
}
Не тестировал. Но вруг сработает. Главное чтоб $resource->parent был определен.