Всего 123 801 комментарий

Ivan
20 мая 2023, 18:48
0
В общем ошибку начинается выдавать если выбрать тип ресурса TXT, JS, CSS, PDF. С другими типами все ок.
Ivan
20 мая 2023, 18:44
0
Конечно, я могу robots.txt сделать просто файлом, но ведь интересно в чем проблема. Может она во что-то другое выливается.
Ivan
20 мая 2023, 18:44
0
Там ошибок нет. Только access_log наполняется. Установил чистый сайт и такая фигня…
Артур Шевченко
20 мая 2023, 16:06
0
Не знаю почему, но в плагине метод $modx->updateCollection() не работает, если запустить тот же код в Console — работает, а в плагине нет.
Dan
Dan
20 мая 2023, 07:22
0
Between есть, просто он априори странно себя ведет с datetime иногда. Так конечно можно писать, ничего в этом нет зазорного.
Andrew
19 мая 2023, 23:11
0
Эх, пока смотрю тихо с обновлением, но надежда умирает последней)
gloobus
19 мая 2023, 22:27
0
Разобрался!

Идём в core/components/migx/elements/tv/migx.tpl
В самом низу находим:
Ext.ComponentMgr.onAvailable('modx-resource-tabs', function() {
    Ext.apply(this, {
        listeners: {
            tabchange: MIGx.updateGrid,
            afterlayout: MIGx.updateGrid,
            resize: MIGx.updateGrid
        }
    });
});

Особо не вникал, но добавляет компонент modx-resource-tabs и действия на события.
Это горизонтальные табы в ресурсе, а MIGx.updateGrid обновляет таблицу в TV.
Сразу после добавляем:
Ext.ComponentMgr.onAvailable('modx-resource-vtabs', function() {
    Ext.apply(this, {
        listeners: {
            tabchange: MIGx.updateGrid
        }
    });
});

Оставил тут только одно событие tabchange, мне этого было достаточно, при изменении вертикальных табов категорий TV запускается обновление таблицы.

Далее, с шириной тулбара где кнопка Добавить элемент не стал глубоко лезть, заколхозил, в assets/components/migx/css/mgr.css добавил:
.tv_modx-grid-multitvgrid_items .x-toolbar,
.tv_modx-grid-multitvgrid_items .x-panel-tbar {
    width: 100% !important;
}
Проблему решает, выглядит красиво :)

Кто может красиво изложить, черканите Бруно.
vit
vit
19 мая 2023, 22:09
0
так работает, значит BETWEEN нету, а так норм писать или не очень?
Dan
Dan
19 мая 2023, 21:47
0
А попробуй так написать.
[[!PdoPage?
    &class=`RecordMy`
    &tpl=`tpl.recordMy`
    &element=`getRecords`
    &ajaxMode=`default`
    &sortby=`{"date":"ASC"}`
    &where=`['DATE >= "2023-03-17 00:00:00" AND DATE <= "2023-03-18 23:59:59"']`
]]
Артур Шевченко
19 мая 2023, 21:00
0
Может и не проверял, как разработчик могу сказать, что баг хоть и доставляет неудобства, но критично на работу не влияет. А поскольку автор компонента дядька занятой, мог этот баг и не заметить. Напиши issue или сразу PR зашли.
vit
vit
19 мая 2023, 20:10
0
пробовал так все равно первое выводит 2023-03-16
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
Чет вы неправильно делаете