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

gloobus
19 мая 2023, 18:53
0
Это не так страшно было, т.к. информация все умещалась, отображалась. Сейчас же другая ситуация, что уезжает. Не понимаю только одного, это же вот явная проблема, видна сразу, разработчики совсем не проверяли?
По сути нужно или найти где тулбару с кнопкой Добавить указывается стиль ширины, или отрисовку таблицы при переходе по категориям в ТВ
Артур Шевченко
19 мая 2023, 18:44
0
Есть другие сайты на 2.x версии и там такого не замечено.
Там противоположная проблема есть: при первой загрузке табличка не тянется на положенную ширину, а после редактирования принимает нормальный вид.
Dan
Dan
19 мая 2023, 17:04
0
Можно чистый SQL попробовать
[[!PdoPage?
    &class=`RecordMy`
    &tpl=`tpl.recordMy`
    &element=`getRecords`
    &ajaxMode=`default`
    &sortby=`{"date":"ASC"}`
    &where=`['DATE BETWEEN "2023-03-17 00:00:00" AND "2023-03-18 23:59:59"']`
]]
Советую также указать время у обеих дат, раз хранится в datetime.
Dan
Dan
19 мая 2023, 16:56
0
Поставьте логирование серверных ошибок. После появления такой ошибки смотрите в журнал, если Timeweb, то он сохраняется в папке сайта на уровне public_html с названием error_log. Там будет конкретная причина, вызывающая ошибку.
Но подозреваю, что виноват какой-нибудь кастомный плагин.
Dan
Dan
19 мая 2023, 16:44
0
Уже делал такое без проблем и не раз на многих проектах. Я же говорю, вы что-то делаете неправильно.
Павел Романов
19 мая 2023, 12:27
+1
Если Вам нужно вывести второстепенные категории товара, сделайте сниппет myCategories:
<?php
$id = $modx->getOption('id', $scriptProperties, $modx->resource->get('id'));
$table_cont = $modx->getOption('table_prefix').'site_content';
$table_cat = $modx->getOption('table_prefix').'ms2_product_categories';
$sql = "SELECT * FROM {$table_cat} WHERE `product_id` = {$id}";
$q = $modx->prepare($sql);
$q->execute();
$resources = $q->fetchAll(PDO::FETCH_ASSOC);
foreach ($resources as $category){
    $cid = $category['category_id'];
	if($result = $modx->query("SELECT * FROM {$table_cont} WHERE id = {$cid}")){
		$row = $result->fetch(PDO::FETCH_ASSOC);
		$out .= $modx->getChunk($tpl, $row);
	}
}
return $out;

В чанке msProducts (programs.row) вызывайте его так:
[[myCategories? &id=`[[+id]]`&tpl=`subcat_tpl`]]
Или на Fenom
{'myCategories' | snippet: ['id' => $id, 'tpl' => 'subcat_tpl']}
В карточке товара &id можно не указывать.

В чанке subcat_tpl доступны любые поля категории: [[+pagetitle]], [[+content]] и т. д.
kudesia
19 мая 2023, 10:17
0
Так Вы попробуйте сами.

Создайте в минишоп две категории.
В одной создайте товар, а другую отметьте в нем галочкой.

И вот выведите pagetitle этой другой категории.

modx.pro/help/23970#comment-139267
kudesia
18 мая 2023, 21:16
0
Да тут сложно неправильно сделать.
Dan
Dan
18 мая 2023, 20:42
0
Чет вы неправильно делаете
kudesia
18 мая 2023, 19:38
0
Эх…

так выводит родителя этих всех категорий…
Dan
Dan
18 мая 2023, 18:59
0
Во, другой разговор, с этого и надо было начинать вопрос.
Вы можете использовать additionalPlaceholders, про который написано тут.
Но нужно обновить minishop2 как минимум до 4.2. Не знаю, как будет в синтаксисе PHx, но на феном вызов будет такой:
{'!msProducts' | snippet : [
        'parents' => 180,
        'limit' => 0,
        'sortby' => '{"menuindex":"ASC"}',
        'tpl' => 'programs.row',
        'additionalPlaceholders' => [
            'pr' => 180
        ]
]}
И в чанке programs.row вместо
{$parent | resource: 'pagetitle'}
укажите
{$additionalPlaceholders.pr | resource: 'pagetitle'}
kudesia
18 мая 2023, 18:17
0
Так.

Может так понятнее будет.

КАТАЛОГ

[[!msProducts?
               &parents=`150`
               &limit=`0`
               &sortby=`{ "menuindex":"ASC" }`
               &tpl=`programs.row`
            ]]

[[!msProducts?
               &parents=`151`
               &limit=`0`
               &sortby=`{ "menuindex":"ASC" }`
               &tpl=`programs.row`
            ]]

[[!msProducts?
               &parents=`152`
               &limit=`0`
               &sortby=`{ "menuindex":"ASC" }`
               &tpl=`programs.row`
            ]]

[[!msProducts?
               &parents=`155`
               &limit=`0`
               &sortby=`{ "menuindex":"ASC" }`
               &tpl=`programs.row`
            ]]

[[!msProducts?
               &parents=`140`
               &limit=`0`
               &sortby=`{ "menuindex":"ASC" }`
               &tpl=`programs.row`
            ]]

[[!msProducts?
               &parents=`180`
               &limit=`0`
               &sortby=`{ "menuindex":"ASC" }`
               &tpl=`programs.row`
            ]]

....
&tpl=`programs.row` у всех одинаковый, потому что универсальный.
Dan
Dan
18 мая 2023, 18:14
0
Ну так у вас вызов msProducts неуниверсальный. Или вы в parents по другому указываете?
kudesia
18 мая 2023, 18:12
0
Зачем мне для каждой категории создавать отдельный чанк tpl для вывода товаров. а не один универсальный?

50 категорий и 50 tpl? Отличающихся одной строкой?
Dan
Dan
18 мая 2023, 18:11
0
Но вы же в msProducts напрямую указываете его, так укажите и в чанке.
kudesia
18 мая 2023, 18:09
0
просто вместо $parent в строке
{$parent | resource: 'pagetitle'}
укажите id этой категории
Так мне нужно как-то получить этот id, а не руками вписывать цифры, об этом и вопрос мой.
kudesia
18 мая 2023, 18:06
0
Что вторичных категорий несколько это и так понятно.
Вот я вывожу в каталоге такую категорию. и вывожу в ней товары, но своих собственных товаров она не имеет., а только отмечена галкой в товарах других категорий. И таких Категорий на странице каталога несколько.

Вызов msProducts стандартный.

[[!msProducts?
               &parents=`150`
               &limit=`0`
               &sortby=`{ "menuindex":"ASC" }`
               &tpl=`programs.row`
            ]]
Так как мне вывести в товарах в &tpl=`programs.row` ее pagetitle?
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 — она не его основная.