ElenaLelo

ElenaLelo

С нами с 01 августа 2019; Место в рейтинге пользователей: #283
ElenaLelo
11 октября 2019, 09:35
0
Если вы хотите оформить именно фильтром, то скорее всего план будет таким:
Вы создаете опцию товара/тв поле — чекбокс, который будет означать что товар акционный. Потребуется небольшой плагин, который пройдется по всем товарам и поставит значение «1» опции у товаров, у которых прошлая цена больше текущей. Потом вызовите через mfilter2, как обычный фильтр.
Другой вариант развития, это когда по нажатию на «акции», отдельно вызванный pdoresources вернет в &resources id товаров, которые подходят по выборке «предыдущая цена больше текущей».
ElenaLelo
11 октября 2019, 09:08
0
Да, нужно перегенерировать превью. Последний раз я пользовалась этим скриптом.
<?php
$step = 5;
$offset = isset($_SESSION['galgenoffset']) && $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : 0;
$ms2Gallery = $modx->getService('ms2gallery', 'ms2Gallery', MODX_CORE_PATH . 'components/ms2gallery/model/ms2gallery/');
$modx->setLogLevel(MODX_LOG_LEVEL_ERROR);
$q = $modx->newQuery('msResourceFile', array('parent' => 0));
$total = $modx->getCount('msResourceFile', $q);
$q->sortby('resource_id', 'ASC');
$q->sortby('rank', 'DESC');
$q->limit($step,$offset);
$resources = $modx->getCollection('msResourceFile', $q);
foreach ($resources as $resource) {
    $modx->runProcessor('mgr/gallery/generate', array('id' => $resource->id),
        array('processors_path' => $modx->getOption('core_path').'components/ms2gallery/processors/'));
}

$_SESSION['galgenoffset'] = $offset + $step;
if ($_SESSION['galgenoffset'] >= $total) {
  $sucsess = 100;
  $_SESSION['Console']['completed'] = true;
  unset($_SESSION['galgenoffset']);
} else {
  $sucsess = round($_SESSION['galgenoffset'] / $total, 2) * 100;
  $_SESSION['Console']['completed'] = false;
}
for ($i=0; $i<=100; $i++) {
    if ($i <= $sucsess) {
        print '=';
    } else {
        print '_';
    }
}
$current = $_SESSION['galgenoffset'] ?
           $_SESSION['galgenoffset'] :
           ($sucsess == 100 ? $total : 0);
print "\n";
print $sucsess.'% ('.$current.')'."\n\n";
ElenaLelo
10 октября 2019, 15:51
+1
Добавили в «индексация полей», в системных настройках, значение «article»?
ElenaLelo
08 октября 2019, 10:44
+1
Можно как то так, наверное
[[!pdoResources? 
	&parents=`0` 
	&resources=`1,2,3,[[!pdoResources? &returnIds=`1` &parents=`[[*id]]` ]]`
	&limit=`10` 
	&sortby=`{ "tplFix":"DESC", "menuindex":"DESC"}`
]]
ElenaLelo
08 октября 2019, 10:37
+1
У вас указано
'toSeparatePlaceholders'=>'my.',
 'filters'=>'ms|price:number, parent:categories',
Поэтому не pls, а my
{$_modx->getPlaceholder('my.ms|price')}
ElenaLelo
08 октября 2019, 10:00
+2
Думаю, поможет этот гайд. Вызовите в нужном месте нужный размер с помощью phpthumb.
В модсторе можно найти улучшенные версии сниппета. Я пользуюсь этим, синтаксис одинаковый по-моему.
ElenaLelo
17 сентября 2019, 16:37
0
Https используете?
При переходе к странице авторизации в админку, после авторизации выкидывает на страницу с вот таким адресом: domain/MODX_URL_SCHEMEdomain/manager
Проверьте запрос на страннице каталога, мб там что то не так.
И проблема с каталогом, с главной переход на товары нормальный, а со страницы каталога подставляется лишняя вкладка catalog.
ElenaLelo
13 сентября 2019, 14:52
+1
Свежей записи это какую то надо закрепить?
Можно вот так закрепить вот так
&resources=`11, 12, 13, [[!pdoResources? &sortby=`RAND()` limit=`10`&returnIds=`1`]]`
Или сделать еще один запрос сюда, но, дописать sortby по дате публикации, напр. и выводить 2 самые свежие, или отобрать через where рандомные, но опубликованные в этом году
&resources=`[[!pdoResources? &sortby=`{"publishedon":"ASC"}` limit=`2`&returnIds=`1`]],[[!pdoResources? &sortby=`RAND()` limit=`10`&returnIds=`1`]]`
Конечно, лучше все это дело вынести в свой сниппет и сделать всю эту выборку одним getCollection, я думаю. Но выводить нужно набор id и их уже сортировать, иначе вряд ли получится
ElenaLelo
13 сентября 2019, 11:53
0
Посмотрите ошибку в логах, должна быть
ElenaLelo
13 сентября 2019, 11:16
+1
Вот что похожее надо, мне кажется
[[!pdoResources? 
	&parents=`0` 
	&resources=`[[!pdoResources? &sortby=`RAND()` limit=`10`&returnIds=`1`]]`
	&limit=`10` 
	&sortby=`{«publishedon»:«ASC»}` 
]]
ElenaLelo
13 сентября 2019, 10:37
+1
А нельзя написать небольшой сниппет, который выводит рандомные числа из количества дочерних ресурсов, его результат работы поместить куда нибудь в element/parent? А сортировку уже написать не rand(), а {«publishedon»:«ASC»} какую надо?
ElenaLelo
12 сентября 2019, 13:25
0
Вы не используете Babel?
Пример .htaccess там есть
ElenaLelo
11 сентября 2019, 17:30
0
Для начала, надо попробовать вызвать getImageList некешируемым, я думаю.
ElenaLelo
11 сентября 2019, 17:18
0
assets/resourceimages/4/1-f.jpg — картинка родителя
assets/resourceimages/279/1-f.jpg — картинка вызываемого ресурса.
А в мигкс поле все заполнено верно, но почему то при вызове не срабатывает [[+id]], а как будто бы [[*id]]?
ElenaLelo
11 сентября 2019, 11:35
0
Разобралась, нажала не «обновить», а полностью удалила и заново поставила.
Спасибо!
ElenaLelo
11 сентября 2019, 11:28
+1
Большое спасибо, но я не могу обновить через репозиторий :(
Пишет: «Невозможно установить пакет с подписью: minishop2-2.5.0-pl»
Ошибки: «Could not load class: xPDO\Transport\xPDOObjectVehicle from transport.xpdo\transport\xpdoobjectvehicle.»
Буду рада, если поможете мне.
ElenaLelo
11 сентября 2019, 09:35
0
То есть сам массив значений заполнен неверно?
ElenaLelo
05 сентября 2019, 13:58
+1
$product->get('price500'); — получение опции price500
$product->getTVValue('price500'); — получении ТВ поля price500
ElenaLelo
05 сентября 2019, 12:35
0
90 на 130. Вы же сами задали такой размер в параметрах. Читайте документацию
ElenaLelo
05 сентября 2019, 10:57
0
Слева это вертикально? Тогда вот пример
За качество отвечает параметр q, значения от 0 до 100.