Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
17 сентября 2016, 16:18
0
Нужно проверить как у него дела с инициализацией modPhpThumb.
Василий Наумкин
16 сентября 2016, 17:50
+2
В репозитории MODX уже тоже смерджили, так что будет исправлено в 2.5.2
Василий Наумкин
16 сентября 2016, 17:04
0
Нужно иметь в виду, что эта настройка появилась только в PHP 5.5.
Василий Наумкин
16 сентября 2016, 16:47
0
Включенный open_basedir подразумевает собственную временную директорию внутри рабочей директории каждого сайта, а не одну общую.

А phpThumb ломится в /tmp, если у него не указана правильная временная директория — именно для этого нужен первый фикс.
Василий Наумкин
16 сентября 2016, 16:35
+3
Получил, на здоровье!
Василий Наумкин
14 сентября 2016, 22:42
0
Ну сообразит поди, рано или поздно.

Там вообще новый этот webmaster с заскоками пока.
Василий Наумкин
14 сентября 2016, 22:31
0
У меня Яндекс как-то сам догадался о переезде на https и ни на что не ругается.
Василий Наумкин
14 сентября 2016, 19:13
+1
Прошу обновить miniShop2 до версии 2.4.3-pl, выпущенной сегодня.
Василий Наумкин
14 сентября 2016, 08:24
2
+2
При обычном вызове в where передаётся массив, закодированный в JSON. При вызове через Fenom кодировать его нет нужды:
{$_modx->runSnippet('!pdoResources', [
    'parents' => 0,
    'includeTVs' => 'test',
    'where' => ["1 = 1 AND FIND_IN_SET("~$_modx->resource.id~", replace(test, '||', ','))"],
    'showLog' => 1
])}
Василий Наумкин
14 сентября 2016, 08:03
+2
Раз больше никому не интересно докопаться до сути вопроса, пришлось это сделать мне.

Итак, в стандартных чанках Tickets используются "быстрые плейсхолдеры", с префиксом «tickets_» — и это отлично работает при стандартном вызове.

При вызове же через Ajax, все настройки сохраняются в сессию, чтобы восстановить их потом при запросе. При этом, pdoTools сохраняет так же и default настройки, которые обычно не указаны.

Таким образом, вот здесь
$default = array(
	'class' => $class,
	...
	'nestedChunkPrefix' => 'tickets_',
);

// Merge all properties and run!
$pdoFetch->setConfig(array_merge($default, $scriptProperties));
происходит перезапись &nestedChunkPrefix с «tickets_» массива $default на «pdotools_» массива $scriptProperties, из-за чего быстрые плейсхолдеры перестают работать.

Поэтому решение — или указать явно
&nestedChunkPrefix=`tickets_`
или использовать синтаксис Fenom вместо быстрых плейсхолдеров, что уже давно сделано на modx.pro.
Василий Наумкин
13 сентября 2016, 18:51
2
+2
Более оптимальный код для добавления опции товара в поисковый индекс:
<?php
switch ($modx->event->name) {
    case 'mse2OnBeforeSearchIndex':
        $key = 'tags'; // имя опции товара
        
        $mSearch2->fields[$key] = 1;
        $q = $modx->newQuery('msProductOption', array(
            'product_id' => $resource->id,
            'key' => $key,
        ));
        $q->select('value');
        if ($q->prepare() && $q->stmt->execute()) {
            $value = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
            if (!empty($value[0])) {
                $resource->set($key, $value);
            }
        }
    break;
}
Василий Наумкин
13 сентября 2016, 14:05
0
Здесь же как-то работает.

Проверь, может стоит уже обновить pdoTools?
Василий Наумкин
09 сентября 2016, 13:47
+1
Буду благодарен за помощь.
Можно купить дополнение и посмотреть исходники — там ясно видно как формируется ссылка, отправляется в Сбер и принимается ответ.
Василий Наумкин
08 сентября 2016, 12:16
+1
Интересно, что будет если указать &element=`msProducts`?
Василий Наумкин
07 сентября 2016, 10:52
1
0
Потому, что автор этих дополнений использует 2 разных события для одной цели, вместо того, чтобы использовать верное событие в обоих плагинах — msOnGetProductPrice.

Если что, у событий плагинов есть приоритет и одно событие можно использовать хоть в 100 плагинах, тогда изменение цены пройдёт по цепочке от низшего приоритета к высшему.
Василий Наумкин
07 сентября 2016, 10:45
0
Никакого желания ни спорить, ни разбираться — вот тут всё про 2 дополнения, которые переопределяют цену на разных событиях.

У MS2 есть возможность переопределить логику работы корзины, написав собственный класс для её расширения, чем я тебе и предлагаю заняться. Можно будет вызывать там какие угодно события, в любой последовательности.
Василий Наумкин
07 сентября 2016, 10:18
0
Вопросы по работе msOptionsPrice2 и cityFields нужно задавать их автору, а не мне.
Василий Наумкин
07 сентября 2016, 07:43
+2
Проблема в настройке base_url для группы пользователей.

Если её убрать и перелогиниться, то картинки грузятся нормально.