Не сортирует ресурсы по тегу через where и OR, как исправить?
Выводит все ресурсы вместо сортировки и вывода, tagsWhere выдаёт правильную строку такую:
Такие ресурсы с такими тегами есть
{"tags:LIKE","%роллы%","OR:tags:LIKE","%кексы%","OR:tags:LIKE","%рофлы%"}
tags это «Авто-метка» пакет tagListerТакие ресурсы с такими тегами есть
[[!pdoResources?
&parents=`6`
&resources=`-[[*id]]`
&includeTVs=`tags,newsImg`
&sortby=`{ "parent":"ASC", "menuindex":"ASC" }`
&tpl=`similarNewsTpl`
&where=`[[!tagsWhere? &input=`[[*tags]]`]]`
]]
Фильтрация товаров в категории
Добрый день! Подскажите нашел тут такой сниппет
<?php
if (empty($returnIds)) {
if (empty($where) || !$where = $modx->fromJSON($where)) {
$where = array();
}
$scriptProperties['where'] = $modx->toJSON($where);
if (empty($innerJoin) || !$innerJoin = $modx->fromJSON($innerJoin)) {
$innerJoin = array();
}
$innerJoin['Category'] = array(
'class' => 'msCategory',
);
$scriptProperties['innerJoin'] = $modx->toJSON($innerJoin);
$scriptProperties['groupby'] = 'Category.id';
$scriptProperties['select'] = $modx->toJSON(array(
'Category' => '*',
'msProduct' => $modx->getSelectColumns('msProduct', 'msProduct', 'product.'),
'Data' => $modx->getSelectColumns('msProductData', 'Data', 'data.'),
));
}
return $modx->runSnippet('msProducts', $scriptProperties);
вызываю его так{$_modx->runSnippet('!mFilter2', [
'fastMode' => 0,
'element' => 'msProductsCategories',
'class' => 'msProduct',
'showEmptyFilters' => 1,
'limit' => 12,
'parents' => $_modx->resource.id,
'tplOuter' => '@FILE chunks/shop/catalog/catalogOuter.tpl',
'tpl' => '@FILE chunks/shop/series/card.tpl',
'includeThumbs' => 'medium',
'filters' => '
ms|price:number,
msoption|item_2,
',
'aliases' => '
ms|price==price,
msoption|item_2==area
',
'ajaxMode' => 'button',
'filterOptions' => '{
"more_tpl": "<div class=\"text-center mb-5\"><button class=\"button btn_more\">Загрузить еще</button></div>"
}',
'returnIds' => 0,
'showLog' => '1'
])}
чанк card.tpl<div class="card__series">
<div class="card__series-header">{$pagetitle}</div>
<div class="card__series-body">
[[!msProducts?
&parents = `[[+id]]`
&resources =`[[+product.id]]`
&includeTVs=``
&tpl = `productTableTpl`
&includeTVs=``
&processTVs=`1`
&limit = `0`
&showLog=`1`
]]
</div>
</div>
все работает нормально фильтрует категории, но проблема с товарами товары отображает только 1 товар в категории, как можно передать список id продуктов в категории, если убрать &resources =`[[+product.id]]`, то выведет все товары в категории независимо от фильтрации, а с &resources =`[[+product.id]]` выводит только первый товар но уже с фильтрацией. Fenom для вывода чанка
Здравствуйте, всем.
Подскажите, пожалуйста, как на феноме будет выглядеть вывод такого чанка:
Хочу создавать чанки counter.site_name, чтобы хранить в них уникальный код метрики для контекста внутри общего шаблона для нескольких контекстов.
Спасибо!
Подскажите, пожалуйста, как на феноме будет выглядеть вывод такого чанка:
[[$counter.{$_modx->config.site_name}]]
Такая конструкция не работает:{include 'counter.{$_modx->config.site_name}'}
Хочу создавать чанки counter.site_name, чтобы хранить в них уникальный код метрики для контекста внутри общего шаблона для нескольких контекстов.
Спасибо!
msProducts не выводит товары с указанными айди, выводит все, как исправить?
$popularProducts в текущем случае только 1о айди, а при этом выводит 3
{'!msProducts' | snippet : [
'parents' => '0',
'inlcudeThumbs' => 'large',
'resources' => '{$popularProducts}',
'tpl' => 'popularProductTpl',
]}
Не получается вывести ошибку в хуке ajaxform, как исправить?
Допустим есть код в хуке ajaxform, который по какому-то при знаку должен вернуть ошибку и дальше не будет обрабатываться, а сам снипет в вызове такой же формит, согласно докам это можно сделать так
return $AjaxForm->error('Ошибка отправки слишком большой текст');
но когда я ставлю в свой хук, то вообще не реагирует на это.{'!AjaxForm' | snippet : [
'form' => 'modal-form-reviews',
'snippet' => 'FormIt',
'hooks' => 'rcv3,customReviews,email',
'emailSubject' => 'Отзыв с сайта {$_modx->config.site_name}',
'emailTpl' => 'modalFormEmail',
'validate' => 'first__name:required,rating:required,message:required,g-recaptcha-response:required',
]}
Хук$review = $hook->getValue('message');
if(strlen($review) > 1000){
return $AjaxForm->error('Ошибка отправки отзыва. Слишком большой текст');
}
Указан неверный код защиты от спама. Tickets, как исправить?
Заполняю форму пишет что код не правильный а код 4 + 1, я написал 5, вроде правильно, но tickets знает лучше и не отправляет форму, в логах пусто.
Код такой
Код такой
{'!TicketComments' | snippet : [
'allowGuest' => '1',
'autoPublish' => '0',
'autoPublishGuest' => '0',
'tplCommentForm' => 'reviewsForm',
'tplCommentFormGuest' => 'reviewsForm',
'tplCommentGuest' => 'reviewsGuestComment',
'tplComments' => 'reviewsWrapper'
]}
Код с формой<form class="callback__form" id="comment-form">
<input type="text" name="name" id="comment-name" class="def-input" placeholder="{$_modx->getChunk('translate', ['ru' => 'Как вас зовут?', 'kz' => 'Сіздің атыңыз кім?'])}">
<div id="comment-preview-placeholder"></div>
<input type="hidden" name="thread" value="[[+thread]]"/>
<input type="hidden" name="parent" value="0"/>
<input type="hidden" name="id" value="0"/>
<input type="hidden" name="form_key" value="[[+formkey]]">
<input type="text" name="email" class="def-input" value="[[+email]]" id="comment-email" placeholder="{$_modx->getChunk('translate', ['ru' => 'Почта', 'kz' => 'Пошта'])}">
<div class="def-input" style="padding-bottom:0;border-bottom:0;">
<label for="captcha" id="comment-captcha">[[+captcha]]</label>
<input type="text" name="captcha" value="" id="captcha" class="form-control def-input" style="width:100%;"/>
</div>
<div class="def-input">
<div class="stars" data-stars="3">
<svg height="25" width="23" class="star rating" data-rating="1">
<polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
</svg>
<svg height="25" width="23" class="star rating" data-rating="2">
<polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
</svg>
<svg height="25" width="23" class="star rating" data-rating="3">
<polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
</svg>
<svg height="25" width="23" class="star rating" data-rating="4">
<polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
</svg>
<svg height="25" width="23" class="star rating" data-rating="5">
<polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
</svg>
<input type="hidden" name="rating" value="">
</div>
</div>
<textarea name="message" class="def-input" placeholder="{$_modx->getChunk('translate', ['ru' => 'Оставьте свой комментарий', 'kz' => 'Пікір қалдырыңыз'])}"></textarea>
<input type="hidden" name="pageName" value="{$_modx->resource.pagetitle}">
<input type="hidden" name="pageUrl" value="{$_modx->config.site_url}{$_modx->resource.uri}">
<button class="def-btn" type="submit">
<span>{$_modx->getChunk('translate', ['ru' => 'Отправить', 'kz' => 'жіберу'])}</span>
</button>
</form>
AjaxForm без jQuery
Приветствую тебя дорогой читатель. Давно хотел это сделать и наконец-то сделал — теперь для работы AjaxForm не нужен jQuery.
ТЕПЕРЬ ДЛЯ ЭТОГО НУЖНО ПРОСТО ИСПОЛЬЗОВАТЬ SENDIT
Для этого нужно
1. Перейти по ссылке.
2. Заменить содержимое папок core/components/ajaxform и assets/componentns/ajaxform/ данными из репозитория.
3. Заменить код сниппета AjaxForm кодом из репозитория.
Если будут ошибки пишите в комментарии, а под катом немного о нюансах.
ТЕПЕРЬ ДЛЯ ЭТОГО НУЖНО ПРОСТО ИСПОЛЬЗОВАТЬ SENDIT
Для этого нужно
1. Перейти по ссылке.
2. Заменить содержимое папок core/components/ajaxform и assets/componentns/ajaxform/ данными из репозитория.
3. Заменить код сниппета AjaxForm кодом из репозитория.
Если будут ошибки пишите в комментарии, а под катом немного о нюансах.
cityfields + minishop2 не работает добавление товара в корзину
Подключен cityfields. На основном домене добавление товаров в корзину работает. На поддоменах не работает.
Например тут omsk.specstaly.ru/catalog/avtomatnyie-stali/avtomatnyie-plityi/avtomatnyie-plityi-160-mm-a35-gost-19903-74
В чем может быть проблема?
Например тут omsk.specstaly.ru/catalog/avtomatnyie-stali/avtomatnyie-plityi/avtomatnyie-plityi-160-mm-a35-gost-19903-74
В чем может быть проблема?
Не могу получить количество товара в корзине, как исправить?
Казалось бы куда проще, но не работает, не могу получить именно количество товара с опред айди, если выводить
$productId
то это стринга и выдаёт правильные данные, если выводить $value['id']
тоже стринга, тоже нормальные данные, но при сравнение ничего, не заходит внутрь хотя КАЗАЛОСЬ БЫ, две стринги с одинаковыми данными, КАЗАЛОСЬ БЫ что не так? если в лупе сделать return какой либо переменной выводится но if не срабатывает, что я делаю не так?<?php
$ms2 = $modx->getService('miniShop2');
$ms2->initialize($modx->context->key);
$cart = $ms2->cart->get();
foreach($cart as $key => $value){
if($productId == $value['id']){
return $value['count'];
}
}
return 0;
mSearch2 исправление некоторых ошибок
Давно и на нескольких проектах пользуюсь компонентом. Давно уже наболело пара моментов, которые где-то фиксил сам, но уже и не найти. Решил описать тут, возможно @Илья Уткин, который теперь вместо автора @Василий Наумкин взял под крыло компонент, посчитает нужным/возможным сделать пару фиксов для улучшения продукта ;-)
К сожалению, на modstore нет возможности сделать общедоступный issue в гитхаб-формате, поэтому пока не нашел ничего лучше чем написать в Вопросы.
Итак, 3 проблемы mSearch2, по которым вопросов больше, чем ответов:
К сожалению, на modstore нет возможности сделать общедоступный issue в гитхаб-формате, поэтому пока не нашел ничего лучше чем написать в Вопросы.
Итак, 3 проблемы mSearch2, по которым вопросов больше, чем ответов: