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

Dan
Dan
18 мая 2023, 17:38
0
Я прекрасно понимаю о чем вы и как это работает. Вы поймите, что этих вторичных категорий может быть несколько, поэтому должна быть какая то логика. Либо например вы находитесь на странице этой самой категории и в карточках товара нужно вывести ее название, либо вы хотите вывести название конкретной категории, id которой вы знаете заранее.
Если второй вариант, что довольно странно, то можно по той же аналогии, что и сейчас, просто вместо $parent в строке
{$parent | resource: 'pagetitle'}
укажите id этой категории

По хорошему стоит показать ваш вызов msProducts
kudesia
18 мая 2023, 17:31
0
Создайте в минишоп две категории.
В одной создайте товар, а другую отметьте в нем галочкой.

И вот выведите pagetitle этой другой категории.
Тогда Вы поймете, о чем я.

Мне не нужен pagetitle основной категории, я уже говорила, что мне нужен Pagetitle той категории, в которой выеден товар сниппетом msProducts, в данном случае id150 — она не его основная.
kudesia
18 мая 2023, 17:29
+1
В чанке parent — это то число, которое указано в бд у товара, а не то, что вы указали в parents при вызове сниппет msProducts
Так я Вам тоже самое и пишу. Что эта конструкция {$parent | resource: 'pagetitle'} не выведет то, что мне нужно, а выведет именно основного родителя.
А мне надо вывести именно ту категорию. которая в msProducts, как и писала об этом ранее и в самом вопросе.
kudesia
18 мая 2023, 17:25
0
Я оговорилась: не msCategory, а сниппет msProducts
Сергей Лим
18 мая 2023, 17:01
0
Подскажите пожалуйста. Меняю производителей через COMBO, скрипт вроде отрабатывает, но по факту не меняет, Куда копать?
Dan
Dan
18 мая 2023, 16:30
0
Какое название категории выводится в чанке, та и является основной для товара. Если это название категории с id 150, то значит у нее есть собственные товары и видимо все. Отсюда получается, что вы скорее всего неправильно свой каталог организовали.
Dan
Dan
18 мая 2023, 16:27
-1
Вообще не понимаю, что вы пишете. Причем тут msCategory, и где он выводится по умолчанию.
Вы не понимаете как это работает.
У каждого товара может быть ТОЛЬКО ОДНА основная категория, она указывается в бд в поле parent.
При этом товар может быть в других категориях, которые могут не являться дочерними категориями его parent.
В чанке parent — это то число, которое указано в бд у товара, а не то, что вы указали в parents при вызове сниппет msProducts
kudesia
18 мая 2023, 16:25
0
{$_modx->resource.pagetitle}
К сожалению — нет, в каталоге. Иначе, моего вопроса не возникло бы.

Каталог с категориями.

Есть категория id 150 в ней нет ни одного собственного товара.
Но есть товары из других категорий, у которых id 150 отмечена во вкладке Категории.
И при выводе в каталоге с категориями, id 150 выводит товары, в которых она отмечена. И без всяких дополнительных настроек, просто сниппетом msProduct

Вы попробуйте сами.
kudesia
18 мая 2023, 16:21
+1
В вызове msProducts вы указываете parents — это основные родители, а не второстепенные.
Вовсе нет. Выводит любой ресурс msCategory по умолчанию.
Dan
Dan
18 мая 2023, 16:18
0
так выводится основная категория товара, а не та, что на странице вызывается.
Как вывести именно ту, которая в вызове msProduct участвует?
Если вы в момент вызова msProducts находитесь на странице нужной категории, то как я и писал выше, в чанке укажите
{$_modx->resource.pagetitle}
так выведется название текущей страницы, т.е. текущей открытой категории, а не основной родительской категории товара
kudesia
18 мая 2023, 16:13
+1
{$parent | resource : 'pagetitle'}
так выводится основная категория товара, а не та, что на странице вызывается.

а на странице вызывается дополнительная категория

Как вывести именно ту, которая в вызове msProduct участвует?
Dan
Dan
18 мая 2023, 16:08
0
Но надо вывести в каждом товаре pagetitle такой категории. А выводится pagetitle только основной категории, а не той, что задана через [[!msProducts?]]
Имеется в виду в карточке товара, находясь на странице категории, вывести название текущей открытой категории? Не совсем понятен вопрос.
Если да, то может покажете как у вас в чанке выводится? Видимо просто
{$parent | resource : 'pagetitle'}
?

Просто в чанке укажите так:
{$_modx->resource.pagetitle}
если включен fenom, если нет, то
[[*pagetitle]]
kudesia
18 мая 2023, 16:02
0
у т.е. вообще нельзя вывести поле именно такой категории?
Алексей Смирнов
18 мая 2023, 15:44
0
В лексиконах ключи, обычно пишутся так config_key_info, поэтому, есть вариант проверять наличие в строке нижнего подчеркивания. Если у вас есть один определенный суффикс, то можно проверять его на вхождение. Примерно вот так:
{set $key = "_"}
{if $key | in : ("config_key_info" | config)}
нет в лексиконах
{/else}
  Результат: {("config_key_info" | config)}
{/if}
Еще можно проверять на пустоту.
в доке есть примеры работы со строками.
Евгений
18 мая 2023, 14:42
0
Добрый день, есть реализация на эту тему, корзину формируем в свою таблицу при нажатии на кнопку купить. ну и отдельны сниппет на вывод таблицы.
Александр
18 мая 2023, 14:11
0
Например не нашел как изменять уникальное поле при импорте категорий.
Prihod
18 мая 2023, 14:01
0
Там есть тайм коды
Dan
Dan
18 мая 2023, 13:58
0
А что конкретно найти не получается?
Александр
18 мая 2023, 13:55
0
Я про то, что в текстовой документации в разы удобнее и быстрее можно найти нужную информацию.