Ivan

Ivan

С нами с 15 августа 2016; Место в рейтинге пользователей: #209
Ivan
07 августа 2022, 23:01
0
Нужно будет почитать про migxdb. Не было случая. Спасибо
Ivan
06 августа 2022, 22:44
0
Администрация, если я что-то нарушаю или делаю не правильно, то сообщите в комментариях и я все поправлю.
Ivan
22 июня 2022, 17:28
0
Я писал автору а не вам. Не туда кликнул. Извините. К вам вопросов не было никаких!
Ivan
22 июня 2022, 10:09
+2
Вас в гугле забанили что ли?
strtotime('+1 day')
А если прям датой, то
return date('d.m.Y', strtotime('+1 day'));
Ivan
20 июня 2022, 22:12
0
&tpl=`tpl-e_carousel`
Ivan
18 июня 2022, 10:57
0
Попробуйте в таблице config очистить value у поля session_handler_class и очистить кэш в папке core/cache. Тогда сессии будут храниться в файлах.

А вообще просто обратитесь к хостеру хотя бы с этой ошибкой
Пытаюсь удалить записи в modx_session но выскакивает ошибка #1036 — Table 'modx_session' is read only
joxi.ru/eAObzEjtGjMgG2
это явно нездоровое поведение.
Ivan
10 июня 2022, 17:39
0
В теории можно еще выводить товары из дочерних категорий.
{var $childsCategories  = $_modx->getChildIds($itzx) | join}
"1 = 1 AND FIND_IN_SET(" ~ $itzx ~ ", replace(TVmulticat`.`value`, '||', ',')) OR parent = " ~ $itzx ~ " OR parent IN (" ~ $childsCategories ~ ")"
Но тут уже может быть не очень быстро.
Ivan
10 июня 2022, 17:33
0
Хм. Интересно, а вместо кучи лайков можно сделать так?
"1 = 1 AND FIND_IN_SET(" ~ $itzx ~ ", replace(TVmulticat`.`value`, '||', ',')) OR parent = " ~ $itzx
Ivan
09 июня 2022, 14:14
0
Нет нельзя. Сейчас специально проверил.
Ivan
09 июня 2022, 09:43
0
Получается вы ответили что «через настройку форм сделать как нужно автору нельзя»
Ivan
08 июня 2022, 21:26
0
Я вчера пробовал через него. Там можно поставить условие что id = 1 например и СНЯТЬ ГАЛОЧКУ. А поставить условие id != 1 нельзя. Если делать 2 правила. Например первое — для всех с шаблоном СКРЫТЬ ТВ, а второе правило id = 1 ПОКАЗЫВАТЬ ТВ, то правило СКРЫТЬ У ВСЕХ перекрывает правило ПОКАЗЫВАТЬ У ОДНОГО.
Если вы знаете как сделать — продемонстрируйте пожалуйста.
Ivan
07 июня 2022, 11:27
+1
Можете сделать так:
Создаете ТВ поле. У него ID допустим 28.
Создаете плагин вешаете событие на OnManagerPageInit.

<?php
switch($modx->event->name){
    case 'OnManagerPageInit':
    	$ids = [183]; //Ресурсы, где ПОКАЗЫВАТЬ ТВ ПОЛЕ
    	if ($_GET['a'] == 'resource/create' || ($_GET['a'] == 'resource/update' && !in_array($_GET['id'], $ids))) {
    		$myCSS = '<style media="screen">
	            #tv28-tr{display:none!important}
	            </style>';
	        $modx->regClientCSS( $myCSS );
    	}
        break;
}
Ivan
06 июня 2022, 15:05
0
Так же нужно скопировать mFilter2 и назвать его mFilter2Custom.
В этом файле на 289 строке заменить
if (!empty($sort)) {
    $paginatorProperties['sortby'] = $mSearch2->getSortFields($sort);
    $paginatorProperties['sortdir'] = '';
}
на
if (!empty($sort)) {
    $sorting = $mSearch2->getSortFields($sort);
    if ($sorting == '`Data`.`price` desc') {
        $sorting = 'IF (`Data`.`price` > 0, 1, 0) desc, `Data`.`price` desc';
    } elseif ($sorting == '`Data`.`price` asc') {
        $sorting = 'IF (`Data`.`price` > 0, 1, 0) desc, `Data`.`price` asc';
    }
    $paginatorProperties['sortby'] = $sorting;
    $paginatorProperties['sortdir'] = '';
}
Ivan
06 июня 2022, 14:50
1
0
В общем решение не самое красивое, но рабочее.
1) Копируем файл
/assets/components/msearch2/js/web/default.js
и называем его
/assets/components/msearch2/js/web/custom.js
.
2) В этом файле везде
mse2Config['actionUrl']
заменяем на
'/assets/components/msearch2/actionCustom.php'
3) Копируем файл
/assets/components/msearch2/action.php
и называем его
/assets/components/msearch2/actionCustom.php
4) В html коде сортировки указываем
<a href="#" data-sort="ms|price" data-dir="[[+mse2_sort:is=`ms|price:desc`:then=`desc`]]" data-default="desc" class="sort">По цене <span></span></a>
5) В файле
actionCustom.php
на 76 строчке меняем
$paginatorProperties['sortby'] = !empty($sort)
            ? $mSearch2->getSortFields($sort)
            : '';
на
$sorting = '';
            if (!empty($sort)) {
            $sorting = $mSearch2->getSortFields($sort);
            if ($sorting == '`Data`.`price` desc') {
                $sorting = 'IF (`Data`.`price` > 0, 1, 0) desc, `Data`.`price` desc';
            } elseif ($sorting == '`Data`.`price` asc') {
                $sorting = 'IF (`Data`.`price` > 0, 1, 0) desc, `Data`.`price` asc';
            }
        }
        $paginatorProperties['sortby'] = $sorting;
Радуемся
Ivan
31 мая 2022, 17:19
0
Вообще странноватая логика вашей корзины.

Вам бы просто установить компонент и вызвать что нужно. Там и +- вроде работают.
Ivan
31 мая 2022, 17:02
0
Да! Проблема есть.
Если у товара 1 картинка, то выведется все верно. А если больше, то в прогрессии.

Можно где-то скачать старую версию? Или поправить побыстрому? А то проект как делать?

UPD: По быстрому 67 строчка реально помогла. Спасибо
Ivan
25 мая 2022, 17:21
0
Да я постараюсь разобраться.
Да нужно так же игнорировать плагин если загрузка идет через msimportexport.
Если не придумаю, то наверно придется его отключать перед загрузкой)