Всего 123 797 комментариев

Артур Шевченко
26 августа 2023, 13:52
+1
Еще вспомнила, что в чанках нельзя выполнять сниппеты.
Не знаю откуда у вас информация о том, что в чанках нельзя вызывать сниппеты, но это не совсем верно. Модификаторы вывода и сниппеты не работают только в инлайновых чанках. Но в целом проверку можно сделать в шаблоне.

Как это проверить в чанке?
[[+modx.user.id:is=`0`:then=`табы`:else=`форма`]] или {if $_modx->user.id === 0} табы {else} форма {/if}

Ну и доку почитайте.
Zulya
26 августа 2023, 13:44
0
Еще вспомнила, что в чанках нельзя выполнять сниппеты. Так как у меня 3 сниппетов (авторизация, регистрация, восстановление пароля) в табах, в чанке формы добавления вопроса придется указать эти сниппеты. Как быть в таком случае?
Zulya
26 августа 2023, 13:33
0
Добрый день!
сделайте проверку ID пользователя
Как это проверить в чанке? Спасибо!
Артур Шевченко
26 августа 2023, 13:06
+1
В чанке формы добавления вопроса сделайте проверку ID пользователя, если он больше 0 показывайте форму добавления, если равен 0 — свои табы.
Futuris
26 августа 2023, 12:44
0
Подскажите, как выполнить простейшее обновление заголовков (pagetitle) товаров? Я в принципе разобрался с базовым импортом-экспортов новой версии. Загрузил ieMs2 и ieGallery. Загрузил товары, опции, фото. Но теперь понадобилось отредактировать заголовки и никак не могу это сделать!

1. При попытке использовать серсис «Быстрое обновление товаров miniShop2» загружаю таблицу с id, pagetitle и alias (см. скриншот 1). Если меняю alias — все нормально редактируется. Но при попытке изменить pagetitle — выдает ошибку «Не удалось новый ресурс. Key: pagetitle; Value: Тайтл моего товара» (см. скриншот 2).

2. При попытке использовать сервис «Импорт товаров miniShop2» делаю те же настройки импорта — и вообще ничего не происходит. Выдает что обработана одна строка, но обновления не происходит.

Очевидно, что компонент считает pagetitle каким-то базовым значением, которое нельзя менять, несмотря на то, что в таблице передается ID товара. В старой версии это было плевым делом — нужно было просто загрузить таблицу с двумя значениями (ID и pagetitle) товаров заданной категории и указать ключ уникальности ID. Неужели в этом комбайне нельзя быстро решать такие задачи?

Futuris
26 августа 2023, 12:03
0
Так к сожалению не получается сделать. Выдает ошибку «Пакет не куплен для этого сайта» (см. скриншот), хотя лицензия на этот домен есть. Можно ли это решить как-то?
Артур Шевченко
25 августа 2023, 22:24
0
Есть мнение, что часть сниппетов не адаптированы для работы с Modx 3. Например MinifyX, if, хотя это неточно. НУ и в целом, если не готов что-то допиливать самостоятельно, не стоило делать сайт на тройке.
Сергей С
25 августа 2023, 21:53
0
Даже так? Благодарю Артур, большой вы человек!
Артур Шевченко
25 августа 2023, 21:38
0
if (!$resource = $this->modx->getObject($data['class_key'], ['feed_id' => $data['feed_id']])) {
$resource = $this->modx->newObject($data['class_key']);
}
Николай Савин
25 августа 2023, 13:32
+2
Сайты должны быть изолированными друг от друга. Вот и вся уязвимость
Сергей С
25 августа 2023, 08:54
0
Видать я неправильно прочитал код. Тогда возвращаюсь к вопросу как получить id оффера для поиска товара с таким feed_id на сайте.
чтобы условие
if (!$resource = $this->modx->getObject($data['class_key'], ['pagetitle' => $data['feed_id']])) {
$resource = $this->modx->newObject($data['class_key']);
}
работало?
Я думал $id = $item->attributes()->id. я получу атрибут оффера.
$id = $xml->offer['id'];
или
$id = $item->offer['id'];
Артур Шевченко
24 августа 2023, 23:24
0
А почему ты хочешь положить объект класса modResource в переменную с именем id?
Сергей С
24 августа 2023, 23:01
0
Ага. Я про неё и имел ввиду. Заменяем pagetitle на feed_id, а ресурс на $id(предварительно получив его $id = $item->attributes()->id)?
Сергей С
24 августа 2023, 22:52
0
Это уже создано. Он при импорте записывается. Тут вопрос немного другой получактая. Там сейчас идет проверка существует ли объект на сайте по pagetitle. А нужно по id. Я так понимаю нужно переписать строку про где newObject, проверив по if (! $id = товар с feed_id)?
Артур Шевченко
24 августа 2023, 22:32
0
Если речь про id оффера, то для него нужно создать поле feed_id
Сергей С
24 августа 2023, 17:56
0
Добрый день! Возник вопрос, а как Выцепить id из Фида? . Вот этот 999 имеется ввиду