Александр

Александр

С нами с 20 января 2017; Место в рейтинге пользователей: #408
Александр
05 июня 2017, 14:18
0
После установки компонента «looked» в ответе сервера пропала строчка Last-Modified и ответ 304 Not Modified. После деинсталяции «looked» Last-Modified и 304 Not Modified так и не появились. До этого 2 дня всё было нормально.
Кто-нибудь сталкивался с подобным?
Александр
03 июня 2017, 04:10
0
Не понял почему так, но простое внесение изменений в файл plugin.lmims.php не даёт результата, так как в кэше файл всё равно старый, как не обновляй кэш.
Помогло пересобирание транспортного пакета. Инструкция тут. Только предварительно нужно в файле /lmims/_build/build.config.php заменить все connectors-7rXt-B1s на connectors (а то пакет не собирётся) и заменить $lmimsDate = $lmims->get('date'); на $lmimsDate = strtotime($lmims->get('date')); в файле /lmims/core/components/lmims/elements/plugins/plugin.lmims.php
Александр
26 мая 2017, 13:16
0
Работает) Спасибо!
Александр
26 мая 2017, 12:28
0
Замена строки
$lmimsDate = $lmims->get('date');
на строку
$lmimsDate = strtotime($lmims->get('date'));
не дала результата.
Это
if (!is_numeric($lmimsDate)) {
	$lmimsDate = strtotime($lmimsDate);
}
я так понимаю, то же самое и это тоже не работает. Дата всё равно такая:
Last-Modified: Thu, 01 Jan 1970 00:33:37 GMT
При изменении ресурса или шаблона заголовок всегда один: HTTP/1.1 304 Not Modified

Это у всех так или только у меня? На сайте используется https, проверяю заголовки тут и тут.
Александр
23 мая 2017, 14:36
0
Добрый день, Иван. Есть успехи в сортировке ресурсов?)
Александр
23 мая 2017, 14:34
0
Подскажите, пожалуйста, направление движения) Ведь это может пригодится не только мне, но и другим)
Александр
04 мая 2017, 00:39
0
Алексей, не могли бы Вы написать сюда информацию по регистрации плагина через API?
Александр
29 апреля 2017, 23:22
0
Автору компонента спасибо большое за быструю техническую поддержку. Помог решить проблему в ТП очень быстро. При общении более, чем адекватен. Замечательный разработчик!
Александр
27 апреля 2017, 13:07
0
Понятно.
Скажите, пожалуйста, удалось ли что-нибудь придумать? Может быть имеет смысл автоматически изменять menuindex у ресурсов в админке?
Александр
08 февраля 2017, 11:13
0
А может быть есть какой-то дефолтый способ? А то тут https://modx.pro/help/11010/ я уже начал придумывать велосипед, а Володя подсказал, и всё оказалось просто)
Александр
08 февраля 2017, 11:09
0
Спасибо! Откомментировал там же.
Александр
08 февраля 2017, 11:08
0
А не подскажешь подробнее, что и куда дописать? А то кода, который ты указал заменить, у меня нет в сниппете pdoMenu.
Александр
08 февраля 2017, 10:40
0
Для обновления цен по cron'у я добавил в конец файла get_cr.php:
if (!$docs = $modx->getCollection('modResource', array(
    'template' => 4
))) { return; }

$modx->getService('currencyrate', 'currencyrate', $modx->getOption('currencyrate_core_path', null, $modx->getOption('core_path') . 'components/currencyrate/') . 'model/currencyrate/', array());
$valute = $modx->getObject('CRlist', array('charcode' => 'EUR', 'active' => 1));
$valuerate = $valute->get('valuerate');

foreach ($docs as $doc){
    if (!$doc->getTVValue('clock_price')) continue;
    $doc->setTVValue('clock_price_rub', round($doc->getTVValue('clock_price') * $valuerate, 0));
}
Это код под мои условия, без использования minishop, а просто с полями TV, с валютой euro.
А разве нельзя запускать по cron'у updateprices.class.php? Нужно только немного изменить его, убрав вывод сообщений.
Александр
08 февраля 2017, 09:55
0
Попробовал. Никаких изменений.
Александр
24 января 2017, 15:54
0
Дата и время хранятся в id1 (в формате unix timestamp)
xtype поля не менял, так как заполнять или редактировать время заказа не нужно.
В getlist.class.php по аналогии с Вашей ссылкой добавил:
$c->leftJoin('customExtraItem', 'customExtraItem', '`customExtraItem`.`id` = `'.$this->classKey.'`.`id1`');
$c->select($this->modx->getSelectColumns($this->classKey, $this->classKey));
$c->select('`customExtraOrder`.`id1` as `order_date`');
В orders.grid.js добавил поле order_date:
var fields = ['id', 'name', 'description', 'active', 'actions', 'deleted', 'published', 'paid', 'new', 'hit', 'favorite', 'order_date'];
//...
dataIndex: i == 1 ? 'order_date' : 'id' + i,
Но я так и не понял как форматировать дату. Можете подсказать, что нужно ещё дописать в getlist.class.php?
Александр
22 января 2017, 22:15
0
Володя, спасибо большое!!! Это работает)
Пол интернета перерыл и не нашёл этого решения. Надеюсь, кому-то тоже будет полезным.
Александр
22 января 2017, 21:44
0
Написал сниппет, который будет возвращать отсортированные id ресурсов:
<?php
$where = array(
    'template' => 4,
    'published' => 1,
    'deleted' => 0,
    'isfolder' => 0
);
$output = [];
$resources = $modx -> getCollection('modResource', $where);
foreach ($resources as $id => $resource) {
    $output[$id] = $resource -> getTVValue($sortedByTV) ? $resource -> getTVValue($sortedByTV) : 999999999999;
}
asort($output);
$output = implode(",", array_keys($output));
return $output;
pdoResource теперь выглядит так:
[[!getPage@CategoryAndCollectionPagination?
                &elementClass=`modSnippet`
                &element=`pdoResources`
                &parents=`[[*id]]`
		&resources=`[[getSortedByTVResourcesIds? &sortedByTV=`clock.price`]]`
                &sortby=``
                &sortdir=`ASC`
                &hideContainers=`1`
                &depth=`2`
                &limit=`[[#1910.tv.clocksQuantity]]`
                &tpl=`clock-item`
                &includeContent=`0`
                &showHidden=`0`
                &includeTVs=`clock.photo,clock.ref,clock.collection,clock.price,clock.currency,clock.available`
                &pageLimit=`3`
                &pageNavVar=`page.nav`
                
                &cache=`true`
                &cache_key=``
                &cache_expires=`31536000`
]]
Но это какое-то неправильное решение. Сниппет работает 6 сек. (около 2к ресурсов)! Так ведь не должно быть. Плюс при открытии любой подкатегории $output всегда будет возвращать все ресурсы (около 2к), а не только те, которые относятся к этой подкатегории.

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

Пробовал добавить для TV (по которому нужна сортировка) значение по умолчанию, например 999999999, чтобы ресурс с таким значением TV всегда был в конце, но это не работает. Такие ресурсы всё равно сортируются вначале, видимо из-за того, что пустое значение в БД — null, а не то, которое установлено по умолчанию.