Алексей

Алексей

Был в сети 04 сентября 2025, 15:20
Заказы принимаю
Сергей, добрый день!
Ваш пример, что-то не работает. У меня похожая проблема. Необходимо вывести у первых трех дочерних ресурсов MIGX поля. Вот так выводит:
{set $rows = json_decode(17 | resource : 'projects', true)}
{foreach $rows as $row}
    {$row.imgpro}{$row.loc}
{/foreach}
Но, он выводит поля только у 17 ресурса, а как сделать вывод у дочерних 5 ресурса, не знаю. Помогите, пожалуйста!
Добрый день!
Вот здесь это обсуждалось
Реализация раздела «Вопрос — ответ», внизу ссылка есть. Я пробовал этот компонент, работает как часы. Прост в использовании и есть весь функционал. Попробуйте.
Добрый день!
Вообщем решил так:
<?php
$tag = $_GET['tag'];

$key = 'tags'; // имя опции товара
$category = 0; // фильтрация по категории

$q = $modx->newQuery('msProductOption');
$q->innerJoin('msProduct', 'msProduct', 'msProduct.id=msProductOption.product_id');
$q->where(array('msProductOption.key' => $key, 'msProductOption.value'=> $tag));
$q->sortby('msProductOption.value','ASC');
$q->select('DISTINCT(msProductOption.value), msProduct.id');
$q->where(array('msProductOption.key' => $key));
if (!empty($category)) {
    $ids = $modx->getChildIds($category);
    $ids[] = $category;
    $q->innerJoin('msCategory', 'msCategory', 'msCategory.id=msProduct.parent');
    $q->where(array('msCategory.id:IN' => $ids));
}

$result = array();
if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
    	$res['id'][] = $row['id'];
	}
	$result = implode(",", array_unique($res['id'])) ;
}

$params = array(
    'element' => 'msProducts',
    'includeThumbs' => '260x195',
    'parents' => 9,
    'limit' => 21,
    'tpl'=> 'tpl.msProducts.new',
    'ajaxMode' => 'default',
    'tplPageWrapper' => '@INLINE <ul class="pagination uk-pagination">{{+prev}}{{+pages}}{{+next}}</ul>',
    'tplPageActive' => '@INLINE <li class="uk-active"><span>{{+pageNo}}</span></li>',
    'resources' => $result
    );

$output = $modx->runSnippet('pdoPage', $params);
return $output;
И вывод на странице:

<div id="pdopage">
    <div class="rows uk-child-width-1-3@s uk-grid-match" uk-grid>
        {'!Tags' | snippet}
    </div>
    
    <div class="uk-panel uk-panel-box uk-flex uk-flex-center">{'page.nav' | placeholder}</div>
</div>
Все работает.

Спасибо Вам за помощь!!!
Нет, при клике на тег выводит все товары, а не те товары у которых данный тег. Вывожу вот так:
<a class="tag tag[[+fontlevel]]" href="[[~26]]?tags=[[+tag]]" style="font-size:[[+fontsize]]px;">[[+tag]]</a>
На странице вызова вывод товаров из последнего комментария. Может что не так делаю?
Евгений, добрый день!
Ваш код из заметки почему-то не работает. Возможно, вы выводите через mFilter2, а я вывожу без него. Вы не подскажите, как вывести товары через ваше облако тегов. Вывод товаров по тегу на странице не работает.Спасибо.
Дмитрий, добрый день!
Спасибо за ответ. Как вывести меню я знаю. Я не знаю как вывести сначала первый уровень, при клике переход на страницу и открывается второй уровень и т.д (как реализовано на указанном сайте). Здесь я думаю java? а вот с ним я плохо знаком :)