Alex
С нами с 18 сентября 2018; Место в рейтинге пользователей: #2140Фильтрация продуктов по опции
Добрый день. Есть необходимость вывести продукты у которых опция (size) равен pagetitle текущей страницы.
Использую такую конструкцию:
P.S. пробовал optionfilters вместо where — результат тот же
Использую такую конструкцию:
{var $lowerpagetitle = $_modx->resource.pagetitle | lower } <!-- форматируем pagetitle -->
{$lowerpagetitle} - <!-- проверяем что все ок с ним -->
{$_modx->runSnippet('!msProducts', [
'parents'=> '4',
'tpl'=>'',
'where' => ' { "Data.size:LIKE": $lowerpagetitle } ',
'showLog' => '1'
])}
Выводятся все ресурсы без фильтрации. P.S. пробовал optionfilters вместо where — результат тот же
Тег состоящий из нескольких слов и неразрывные пробелы
Всем привет. На сайте сделано облако тегов через такой сниппет. Теги в админке заполняются сразу с неразрывным пробелом (наружная ?nbsp; реклама). К сожалению в сниппете ?nbsp; заменяется на C2 A0 — как это можно исправить?
<?php
$base = $modx->config['base_url'];
$tvname = $modx->getOption('tvname', $scriptProperties, "autotag");
$output = "";
$content_type = $modx->getObject('modContentType', array('mime_type' => 'text/html'));
if(substr_count($_SERVER["REQUEST_URI"], $content_type->get('file_extensions'))) {
$parent = $modx->resource->parent;
$url = $modx->makeUrl($modx->resource->parent);
}else{
$parent = $modx->resource->id;
$url = $modx->resource->uri;
}
$q = $modx->newQuery('modTemplateVarResource');
$q->select('DISTINCT(`modTemplateVarResource`.`value`)');
$q->innerJoin('modTemplateVar', 'tv', "tv.id = modTemplateVarResource.tmplvarid");
$q->innerJoin('modResource', 'res', 'res.id=modTemplateVarResource.contentid');
$q->where(array(
'tv.name' => $tvname,
'res.context_key' => $modx->resource->context_key,
'res.parent' => $parent
)
);
if($q->prepare() && $q->stmt->execute()) {
while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
$result[] = $row['value'];
}
}
if($result) {
$result = implode($result, ',');
$result = array_unique(explode(',', $result));
foreach($result as $value) {
$output .= "<a href='{$base}{$url}?tag={$value}' class='ui label'>{$value}</a> ";
}
}
return $output;
MIGX и путь к изображению
Добрый вечер. Возникла проблема с путем к изображению.
В шаблоне вызываю так:
Как быть в такой ситуации?
В шаблоне вызываю так:
[[!getImageList?
&value=`[[+solo.gallery_section-gallery_items]]`
&tpl=`solo.gallery_item_tpl`
&processTVs=`1`
]]
Чанк solo.gallery_item_tpl
имеет такой вид<div class="col-xs-12 col-md-6 col-sm-6">
<img src="[[+image]]" alt="[[+title]]"/>
</div>
<div class="col-xs-12 col-md-6 col-sm-6">
<h3>[[+title]]</h3>
[[+content]]
</div>
На выходе получаю ТОЛЬКО название файла выбранного в [[+image]], хотя должно быть image/custom/imagename.jpgКак быть в такой ситуации?
Неправильный путь к изображению
Добрый день. Не могу получить правильный путь к картинке.
Есть страница с фильтрами mFilter2
Есть страница с фильтрами mFilter2
[[!mFilter2?
&class=`msProduct`
&filters=`
ms|article,
ms|vendor:vendors,
msoption|size`
&aliases=`msoption|size==style,ms|vendor==designer,ms|article==type,`
&parents=`[[*id]]`
&tpl=`store.tpl.mSearch2.row.ALL`
&tplOuter=`store.tpl.mFilter2.outer`
&element=`msProducts`
&limit=`20`
&sortby=`publishedon`
&sortdir=`DESC`
&includeTVs=`picture,action_header`
&processTVs=`picture`
]]
Почему могут не выводиться выбранные фильтры?
Добрый день. Не могу понять почему не выводятся выбранные фильтры prnt.sc/otco47
Сами фильтры применяются.
Вызов фильтров
Сами фильтры применяются.
Вызов фильтров
[[!mFilter2?
&includeTVs=`picture`
&filters=`
ms|vendor:vendors,
msoption|area,
msoption|effect,
msoption|user_properties,
ms|price:number`
&parents=`[[*id]]`
&tpl=`store.tpl.msProducts.row`
&tplOuter=`store.tpl.mFilter2.outer`
&element=`msProducts`
&class=`msProduct`
&limit=`16`
&sort = `resource|pagetitle:asc`
&includeTVs=`picture,action_header`
&processTVs=`picture`
&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
&values_delimeter=`;`
]]
Чанк обертки: Не работает taglister
Добрый день. Не работает фильтр по тегам. В url передаются параметры правильно, но все равно отображаются все ресурсы.
Вызов на странице блога
Вызов на странице блога
[[!pdoPage?
&parents=`[[*id]]`
&depth=`3`
&tpl=`blog.tpl`
&includeTVs=`tags,picture`
&processTVs=`1`
&limit=`12`
&hideContainers=`1`
&where=` { "tags:LIKE":"%[[!#get.tag]]%" } `
&tplPageWrapper=`@INLINE <div class="text-center"><ul class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div>`
]]
[[!+page.nav]]
Чанк blog.tpl<div class="post-entry clearfix mb40">
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-3">
<div class="post-entry-picture">
<a href="{$id | url}" title="{$pagetitle}">
<img class="img-responsive" src="[[+tv.picture:phpthumbon=`w=200&h=200&zc=1&q=85`]]" alt="{$pagetitle}">
</a>
</div>
</div>
<div class="col-xs-12 col-sm-9 col-md-9">
<p class="post-entry-tags">
<i class="fa fa-tags"></i> [[!tolinks? &items=`{$tags}` &tagKey=`tags` &target=`16` &tpl=`blog.tag.link` &outputDelim=` / `]]
</p>
<h2>
<a href="{$id | url}">{$pagetitle}</a>
</h2>
<p>
<i class="fa fa-clock-o"></i> {$publishedon | date_format : '%d/%m/%Y'}
</p>
<p class="mt20">
{$introtext | limit : 250}
</p>
<p>
<a href="{$id | url}#cut" class="btn btn-blue sharp"><i class="fa fa-link"></i><span>Подробнее</span></a>
</p>
Как правильно составить условие?
Добрый день. Необходимо вывести отзывы на странице.
Отзыв представлен в виде обычного ресурса, в котором есть tv со списком проектов. Необходимо на странице проекта вывести только те отзывы в которых выбран данный проект в тв.
В логах
Отзыв представлен в виде обычного ресурса, в котором есть tv со списком проектов. Необходимо на странице проекта вывести только те отзывы в которых выбран данный проект в тв.
[[pdoResources?
&parents=`89`
&depth=`10`
&includeTVs=`checkresource`
&limit=`0`
&tpl=`checkresource.tpl`
&tvFilters=`checkresource==%[[*pagetitle]]%`
&showLog=`1`
]]
Вызов делаю таким, но ничего не выводит. В логах