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

Дмитрий
04 февраля 2024, 21:35
+2
Ох, парни, это ппц! Ну сколько раз себе говорил: Дима, б%%, нет никакой магии! Если что-то ДОЛЖНО работать, но не работает, значит ты что-то пропи%%%глазил! Ищи!
Но здесь реально было странно — ну не отрабатывает getCollection при вызове из консоли хоть тресни! Ну магия же, да? Короче начал по строчке разбираться и щито би ви думали?!

Виновник торжества:

strtotime(date('Y-m-d'))

а именно ДРУГОЙ! ЧАСОВОЙ! ПОЯС! НА! СЕРВЕРЕ!

Соответственно условие

'publishedon:>' => strtotime(date('Y-m-d'))

из браузера выполнялось, так как на сайте пояс установлен Europe/Moscow, а на сервере мать его UTC!
И из-за этой разницы при вызове срипта в консоли ничего не находилось и соотв getCollection возвращал ноль ресурсов! Боги! Так протупить!

Фейспалм!

Алексей Смирнов
04 февраля 2024, 14:56
0
ВК и прочие «тянулки» будут пытаться вытянуть хоть какую нибудь фотку.
И чтобы облегчить жизнь, и контролировать фотку необходимо использовать OG решение, Как подсказал VIT. И дополнительно засунуть разметку для фотки.
В простом приближении можно пользовать что-то такое:

В коде, например, можно создать условие если есть какие-то фото для страницы — тянуть их. Если нет, то выставлять сюда логотип или заранее подготовленную любую картинку.
Евгений
04 февраля 2024, 01:38
0
inarray по идее в бы сработал ыы
[[+geo:is=`[[*restricted]]`:then=`Restricted`:else=`Accepted`]]
Евгений
04 февраля 2024, 01:29
0
[[!*restricted:is=`[[+geo]]`:then=`Restricted`:else=`Accepted`]]
такое срабатывает если в tv restricted только один гео выбран, а если несколько то не работает…
Евгений
03 февраля 2024, 22:02
0
подскажите как можно сравнить код и tv поля и плейсхолдера
то есть например у меня в поле TV restricted заполнено us
и результат работы снипета передает в плейсхолдер us — написать restricted

[[*restricted:is=`[[+geo]]`:then=`restricted`:else=`accepted`]]
типа такого но чтобы сработало :)
vit
vit
03 февраля 2024, 16:46
0
Нужно настроить Open Graph Разметку
Можно настроить либо с помощью TV полей или использовать SEO Suite
Володя
03 февраля 2024, 09:44
0
в конце своего кода добавь
$modx->log(1,  print_r(count($resources) ,1));
запусти код и после посмотри в журнале ошибок modx если вывод кол-ва ресурсов?
Если нет — то целиком весь используемый код выкладывай.
Константин Ильин
03 февраля 2024, 09:06
0
Для начала попробуй
$resources = $modx->getIterator('modResource',$q);
Я так полагаю ошибок в логах нет?
Дмитрий
02 февраля 2024, 23:41
0
Поясни, плиз! Не понимаю (( В консоли же отрабатывает

$res = $modx->getObject('modResource', 1);
echo $res->get('pagetitle'); // тут заголовок страницы спокойно выводится

почему getCollection тогда не хочет?
Kirill A. Rusanov
02 февраля 2024, 23:35
0
Откуда возьмётся ресурс в консоле, да и ещё в апи-мод?
Дмитрий
02 февраля 2024, 22:55
0
Аналогично: в браузере при вызове страницы выводится число ресурсов, в консоли при вызове выводится ноль ((
Артур Шевченко
02 февраля 2024, 22:48
0
Ты получаешь коллекцию объектов, чтобы посчитать их количество? Попробуй $modx->getCount()
Roman
02 февраля 2024, 16:17
+1
Здравствуйте, можно получить 1 версию назад после последнего обновления php 8.1 перестало работать сайт работает на php 7.4 minishop не работает с 8.1, пожалуйста, дайте установить 1 версию, спасибо
Anton
02 февраля 2024, 16:10
0
Большое спасибо, с этого места уже получится самому!
Константин Ильин
02 февраля 2024, 15:25
0
он нормально работает под 7кой

Логи ошибок смотрите, там обязательно что-то есть

обновление минишоп чревато с такой разницей в версиях, скажем так процесс обновления может аукнуться, насколько помню там есть значительные изменения, лучше разобраться со скриптом.
al1ve
02 февраля 2024, 14:40
0
а есть подобный скрипт, адаптированный под 7ой пхп?.. Заодно спрошу — похожий функционал есть в минишопе2 4.2.2 и выше, но у меня установлен 2.9.3. Если я обновлюсь с 2.9.3 до 4.х версии, чтобы иметь функционал по обновлению превьюшек — у меня ничего не поломается? Есть какие то риски в этом?