Илья Уткин

Илья Уткин

С нами с 15 декабря 2012; Место в рейтинге пользователей: #9
Илья Уткин
23 октября 2020, 12:40
+6
Не хватает в корзине столбца «Стоимость». Есть только «Цена» и «Количество». Приходится велосипеды писать
Илья Уткин
19 июня 2020, 10:23
0
Ну вот здесь есть перенос и переименование пункта меню — _build/resolvers/resolve.client_config.php
Илья Уткин
21 мая 2020, 16:11
0
Нет, это не из-за die(), а из-за того, что плагин статичный. Это баг MODX, здесь больше информации: github.com/modxcms/revolution/issues/14063
Илья Уткин
13 мая 2020, 14:44
0
Ну я написал примерный код — нужно убедиться, что внутри каждой переменно содержится то, что надо. Думаю, тут проблема в опциях товара — надо потестировать, в каком формате они должны быть.

Прям в коде минишопа добавь такую строку (чтобы в журнале ошибок увидеть):
$this->modx->log(1, $id . '|' . $price . '|' . $weight . '|' . (json_encode($options)) );

И в чанке сделай
{($id ~ '|' ~ $price ~ '|' ~ $weight ~ '|' ~ ($options | toJSON)}

И посмотри, чем отличаются эти строки.
Илья Уткин
13 мая 2020, 10:43
1
+2
Видимо, нужно добавлять условие в where, раз вы его вручную записывате

{set $n = ""}
{foreach $numArr as $item}
	{if $index == 1} 
		{set $n = $n~"(`TVgenre`.`value` LIKE '%"~$item~"%'"}
	{else}   
		{if $index == $max}
			{set $n = $n~" OR `TVgenre`.`value` LIKE '%"~$item~"%'"}
		{else}
		   {set $n = $n~" OR `TVgenre`.`value` LIKE '%"~$item~"%'"}
		{/if}
	{/if}
		{set $index = $index+1}
{/foreach}
{set $n = $n~") AND `modResource`.`id` NOT IN (" ~ $_modx->resource.parent ~ ")"}
Ну и ставьте параметр 'showLog' => 1 и проверяйте итоговый SQL-запрос
Илья Уткин
13 мая 2020, 10:40
0
Думаю, так не получится. Вам нужно плагином дублировать значение ТВ категории в каждый дочерний товар при сохранении родителя. Тогда получится фильтровать по этому значению.
Илья Уткин
13 мая 2020, 10:36
1
+1
Вот, как формируется этот key. Значит, можно на фронтенде у товара добавить ключ в качестве идентификатора — как-то так:
{var $key = (($id ~ $price ~ $weight ~ ($options | toJSON)) | md5)}
<div class="ms2product" id="product_key_{$key}">..</div>
Илья Уткин
07 мая 2020, 14:17
2
+3
Проблема в том, что у доп. поля множественный выбор. Когда значение одно, фильтр нормально отрабатывает, но когда значений несколько, они сохраняются так: 1||2 и, конечно, это значение не равно 1.

Я выхожу из этой ситуации таким образом. В значениях доп. поля ставим не числа, а слова — завтрак==breakfast||обед==lunch||ужин==dinner||. В этом случае условие с LIKE нормально отработает и для случаев с одним значением, и для нескольких:

'where' => [
    'serviceTime:LIKE' => '%' ~ $servTime ~ '%'
]
Илья Уткин
20 апреля 2020, 21:49
0
Может, типа такого использовать?
ilyaut.ru/tips-and-tricks/create-a-section-for-managing-widgets-in-modx/

Ну или дополнение ClientConfig
Илья Уткин
20 февраля 2020, 13:30
+1
Ну да, просто добавить в ключ кеша ID пользователя и md5-хеш GET-параметров. Типа такого, наверное:

$file = MODX_BASE_PATH . 'resourcecache/' .
        $modx->resource->uri . '/' .
        $modx->resource->id . '/' .
        md5($modx->toJSON($_GET)) . '/' .
        'user_' . $modx->user->id . '.txt';
Илья Уткин
20 февраля 2020, 13:11
+1
А, еще если на странице есть части, которые для разных пользователей разные (например, авторизованный и неавторизованный пользователь) — такое решение тоже будет не совсем корректно. Но для простых каталогов да, очень полезная вещь.
Илья Уткин
20 февраля 2020, 13:03
+2
А если в фильтре выбрать какой-то параметр, потом скопировать адрес страницы (mFilter2 же меняет адрес на лету) и нажать F5? Плагин не учитывает GET-параметры, получается функционал дружественных урлов фильтра перестаёт работать.
Илья Уткин
02 ноября 2019, 08:59
0
В документации написано, что требуется как раз zipwww.php.net/manual/ru/class.ziparchive.php

У вас просто из админки сайта архивы распаковываются?
Илья Уткин
01 ноября 2019, 17:28
+1
Тогда просто распакуйте архив и запустите /setup/

Или установите ZipArchive
Илья Уткин
01 ноября 2019, 17:21
+1
Вероятно, на хостинге не установлено расширение для распаковки архивов. Попробуйте воспользоваться таким скриптом: github.com/ilyautkin/installer/blob/master/install.php

Если и он не сможет, значит, придётся вручную обновлять)
Илья Уткин
20 октября 2019, 15:02
0
Это может сделать только автор проблемного дополнения, выпустив новую версию. Всем остальным остаётся только ждать момента, когда можно будет установить новую версию.
Илья Уткин
18 июля 2019, 15:38
0
Не знаю. Раньше у сбербанка не было своего дополнения для MODX.