Вопросы

HitsPage

Добрый день.

Делаю вывод товаров в подкатегории по HitsPage товаров, пропадает все таблица с товарам, как правильно прописать 'sortby' по TV полю HitsPage

{'!pdoPage' | snippet: [
'class' => 'msProduct',
'element' => 'msProducts',
'limit' => 20,
'ajaxMode' => 'default',
'select' => 'id,uri,pagetitle',
'tpl' => '@FILE chunks/catalog/item.tpl',
'sortby' => 'HitsPage',
'sortdir' => 'desc',
'frontend_css' => '',
'loadModels' => 'msTopProducts',
'leftJoin' => [
'msTopProduct' => [
'class' => 'msTopProduct',
'alias' => 'msTopProduct',
'on' => ['msTopProduct.product_id = msProduct.id', 'msTopProduct.category_id' => $_modx->resource.id]
]
]
]}

Анатолий
09 апреля 2021, 13:10
modx.pro
727
0

Как на FENOM получить не parent а дедушку?

Приветствую, подскажите пожалуйста, как на FENOM получить родителя parenta?

parent так $_modx->resource.parent, а как получить его родителя, дедушку?
Роман
09 апреля 2021, 03:11
modx.pro
1 459
0

Некорректно выводится слайдер цены через mFilter2

Не могу разобраться с выводом слайдера цены через mFilter2 (в связке с SeoFilter). Вкратце: если в mFilter2 не прописываю aliases, то там, где цена, выводятся чекбоксы «от»/«до». если прописываю aliases, то как бы ломается вёрстка слайдера (растягивается на весь блок в высоту).
Кристина
08 апреля 2021, 15:18
modx.pro
1
925
0

Localizator + pdoResources + where TV не работает выборка

Помогите понять почему не отрабатывать условие по выборке TV, если ID ставить самому, то выводит.
Илья Александрович
08 апреля 2021, 14:46
modx.pro
1
1 085
0

Кэш от root

Периодически создается кэш от root пользователя, и тем самым сайт не может отобразить информацию и записать дальше в кэш. Это проблема настройки сервера или как можно решить её? Временно поставил крон, чтобы исправлял права, но понимаю, что это не правильно.
Роман
08 апреля 2021, 14:09
modx.pro
1
897
0

Pdoresource неправильно обрабатывает условие where. РЕШЕНО!

Всем привет!
Сразу к делу. Код сниппета:

<?php
$where = array(
    'Lo:>=' => 100,
    'Lo:<=' => 140,
);

$where = $modx->toJSON($where);

$output = $modx->runSnippet('pdoResources',array(
    'limit' => 15,
    'parents' => 71,
    'includeTVs' => 'Lo',
    'where' => $where,
    'return' => 'json'
));

return $output;
Данный сниппет выдает результат из 4 значений, то есть работает корректно. Когда меняю 100 на 99, результатом сниппета становится пустой массив. Что интересно, когда меняю 99 на 10, сниппет отрабатывает правильно.

Не понимаю, что за магия происходит. Помогите разобраться.

UPD. Когда ввожу 0, 1, 11, 12 и выборка работает нормально. Остальные числа до 99 включительно отдают пустой результат.
Денис
07 апреля 2021, 22:23
modx.pro
1 165
0

Как сделать условие выборки для article.

Создал для быстрой вставки товаров в тело любой страницы, хочу чтобы не него можно было вносить назания товара (Артикль). Раньше было сделано по id ресурса через resources
вызов такой:
{include 'file:chunks/blocks/pdo_project.tpl' $resources='212,207,197'}
Код чанка такой:
{set $params = [
'depth' => '0',
'resources' => $resources,
'element' => 'msProducts',
'tpl' => '@FILE chunks/cards/card.tpl',
'includeThumbs' => 'medium',
'limit' => 80,
'includeTVs' => 'price1,area',
'tvPrefix' => '',
'parents' =>  0 ,
]}
<div class="rows row row-cols-1 row-cols-sm-2 row-cols-md-3 catalog mt-2">
    {'!pdoPage' | snippet : $params}
</div>
Сейчас пытаюсь через where заменить
'resources' => $resources
на
'where'=> '{"article:IN":$articles}',
но ничего не работает.
Артикли на кириллице
Miša Bulic
07 апреля 2021, 18:02
modx.pro
1 016
0

Сортировка по опциям msProducts [решено]

Доброго.

Уже пол дня убил на попытку наладить сортировку msProducts, прошу помощи аудитории, так как документации и гугла явно не хватает :)

Дано: miniShop2, товары с опциями, всё обычное.
Задача: отсортировать по опции 'obschaya-ploschad', примеры значений опции: 211.8, 240 и т.д.

Делаю так:

$modx->runSnippet('msProducts', [
    'parents' => 2,
    'sortbyOptions' => 'obschaya-ploschad:number',
    'sortby' => '{"obschaya-ploschad":"ASC"}',
    'limit' => 24,
    'offset' => $offset,
    'tpl' => 'tpl.catalog.row',
    'setTotal' => 1
]);
Viarne
07 апреля 2021, 15:38
modx.pro
870
0

переписать путь к файлу стилей

Добрый день. только начал изучать modx. стоит задача по клике на кнопку менять подключаемые файлы стилей. просто используя php я это сделал. но как это сделать в modx не понимаю.
это нативный php

$css = 'style.css';
$css2 = 'style2.css';

$filename = 'index.php';
$file = file_get_contents($filename);
$title_pattern = $css;
$test = preg_replace("~$title_pattern~", $css2, $file);
file_put_contents($filename, $test);

header('Location: index.php');

а это уже код внутри modx

кнопка на странице, где 124 это номер сниппета



а это сам сниппет

<?php

function getStyle() {

$css = '[[$styles]]'; // чанк исходного файла css
$css2 = '[[$styles2]]'; //чанк файла на который надо поменять

$filename = [[$head]]; //чанк — место где происходит замена css файлов
$file = file_get_contents($filename);
$title_pattern = $css;
$test = preg_replace("~$title_pattern~", $css2, $file);
return file_put_contents($filename, $test);

}
Руслан
07 апреля 2021, 15:30
modx.pro
897
0

Игнорировать мультикатегории в msProducts

Добрый день! Можно ли как-то сделать вывод товаров без учета мультикатегорий, чтобы не отображались те, что связаны с этой категорией из другой категории?
Анастасия
07 апреля 2021, 12:33
modx.pro
667
0