Alexey

Alexey

С нами с 02 августа 2015; Место в рейтинге пользователей: #201
Alexey
17 мая 2021, 09:25
0
В плагине после строки

case 'OnWebPagePrerender':
добавить строку

if($modx->resource->id == 8) return;

где 8 — id нужного ресурса, меняем на нужный.
Alexey
16 мая 2021, 12:24
0
Помню, несколько лет назад реализовывал функционал избранного, но не через сессии, а через куки.

То есть, при добавлении в избранное, идет проверка, авторизован ли пользователь на фронтенде. Если да, то id товара пишется в extended пользователя, если нет, то сажаем ему куку в браузер. Список айдишников просто через запятую, при добавлении, есесно, проверяем наличие этого айдишника в избранном, если есть, то удаляем из избранного и наоборот.

Плюс этого варианта в отсутствии необходимости добавлять отдельную таблицу. Но какие-то подводные камни были… Вроде бы, связанные с разными контекстами
Alexey
14 мая 2021, 18:36
0
Если AMP-страница выводится отдельным шаблоном, то добавить проверку на этот шаблон.
Alexey
12 мая 2021, 21:27
0
в коде тега head не видно подключения этого файла:
<link rel="stylesheet" href="/assets/components/ajaxform/css/default.css" type="text/css">
он как раз и отвечает за оформление всплывающих уведомлений.

Я вставил вызов этого файла в тег head через инспектор кода и запустил в консоли вызов всплывающего уведомления — disk.yandex.ru/i/Y4L0k_3SNWrfgg — всё пучком отработало.

Возможно, в вызове сниппета есть строка с параметром?
'frontend_css' => ''
Alexey
12 мая 2021, 18:30
0
Можно ссыль на страницу сайта?
Alexey
12 мая 2021, 13:26
0
Очень похоже, что не подключен файл со стилями всплывающих окон. Я навскидку не помню, в системных настройках ajaxForm есть путь к файлу со стилями? И в консоли браузера ничего не пишет?

Что-то подобное припоминаю: было на каком-то сайте, когда типа «оптимизатор» поотключал в вызове сниппета «бесполезные» файлы.
Alexey
17 марта 2021, 15:27
0
На пробу установил батчер на MODX 2.8.1 (php 7.2) — полет нормальный, в меню админки отображается — skrinshoter.ru/s/170321/iM5Fel4k, смена родителя выбранных ресурсов на ура прошла.
Alexey
17 марта 2021, 15:22
0
Павел, добрый день! Вопрос: в этой версии компонента есть возможность настроить применение промокода по условию принадлежности к определенному производителю? Возможно, во вкладке промокода в админке есть поле для дополнительных условий? Наподобие такого — skrinshoter.ru/s/170321/GzD6Lfz8
Alexey
15 марта 2021, 13:49
+5
Большое спасибо! Как обычно, закинул свои пять копеек))
Alexey
11 марта 2021, 12:36
0
Да, через SuperBoxSelect норм отображается, спасибо!
Alexey
10 марта 2021, 14:29
0
Да, я тестил ранее — с id нормально в админке отображается. Проблема в том, что в шаблонах и скриптах импорта-экспорта данных в указанной тивихе уже прописана логика обработки и не хотелось бы переписывать, если есть возможность обойтись.
Alexey
19 февраля 2021, 22:15
+2
В системной настройке error_page установить id страницы 404
Alexey
19 февраля 2021, 20:32
+2
article не передается в массиве корзины — skrinshoter.ru/s/190221/JECDQX3W.
Alexey
19 февраля 2021, 20:19
0
{$_pls['image']}
Так должно сработать. То же самое насчет namevideo.
Alexey
18 февраля 2021, 09:36
0
В сниппете выбирается последний заказ. А если в течение этой минуты ещё заказ прилетит? Сниппет его возьмет, обработает, а предыдущий заказ пролетит, получается.
Alexey
18 февраля 2021, 09:00
0
В чанке pdoMenu tv-поле по умолчанию вызывается без префикса tv
Alexey
14 февраля 2021, 22:31
1
+2
Привет! В файле core/components/minishop2/custom/payment/robokassa.class.php заменить метод getPaymentLink на следующий код:

public function getPaymentLink(msOrder $order)
    {
        $id = $order->get('id');
        $sum = number_format($order->get('cost'), 2, '.', '');
	//список товаров в заказе
	$order_goods = $this->modx->getCollection('msOrderProduct', ['order_id' => $id]);
	$tmp = [];
	foreach($order_goods as $key => $good) {
	    $tmp[$key]['name'] = $good->name;
	    $tmp[$key]['quantity'] = $good->count;
	    $tmp[$key]['sum'] = $good->cost;
	    $tmp[$key]['tax'] = 'none';
	}
		
        //номенклатура заказа
        $receipt = ['items' => array_values($tmp)];
	$receipt_json = json_encode($receipt, JSON_UNESCAPED_UNICODE);
	$SignatureValue = md5($this->config['login'] . ':' . $sum . ':' . $id. ':' . $receipt_json . ':' . $this->config['pass1']);
        $request = array(
            'url' => $this->config['checkoutUrl'],
            'MrchLogin' => $this->config['login'],
            'OutSum' => $sum,
            'InvId' => $id,
            'Desc' => 'Payment #' . $id,
            'IncCurrLabel' => $this->config['currency'],
            'Culture' => $this->config['culture'],
            'Receipt' => $receipt_json,
            'SignatureValue' => $SignatureValue,
        );
        
        if (!empty($this->config['test_mode'])) {
            $request['isTest'] = 1;
        }
        $link = $this->config['checkoutUrl'] . '?' . http_build_query($request);
        return $link;
    }

Компонент давно не обновляется, нужна была оперативность, поэтому правил исходники компонента. Нужно иметь в виду, что если выйдет апдейт, то эти правки будут затерты. Про расширение классов, думаю, можно немало информации найти, хотя бы здесь.

Делал под конкретный сайта, поэтому передавал только необходимые параметры. Советую почитать тут ( skrinshoter.ru/s/140221/5d2fQ6PK?a ), возможно, нужно передать другую систему налогообложения, налоговую ставку и т.д…
Alexey
11 февраля 2021, 20:26
0
Сам сниппет отдельно проверяли? Корректно выводит дату?

<?php
setlocale(LC_ALL, 'en_US.UTF-8');
if ( $val == '' ) $val=time();
if ($format == '' ) $format = "%a, %d %b %Y %H:%M:%S";
return strftime($format, $val);

Я про этот говорю. Первый — укороченный — не будет работать.
Alexey
11 февраля 2021, 19:47
0
Проверил на тестовом сайте

[[!dateLocale? &val=`[[+publishedon]]`]]

Всё корректно выводит. Нигде кириллица не затесалась часом?