создал еще одни tpl шаблон для отображения товара без этого tv, и fetch.tpl теперь формирует категорию без отображения веса товаров, но с весом было бы интереснее) Пока не разобрался…
Да, отображается так как надо при просмотре одного товара, при просмотре категории подставляется значения по умолчанию данного tv у каждого товара)
Да, было бы здорово их учитывать, от них много пользы для нестандартных задач)
То есть если у вас TV-параметр weight, то пишете [[*weight]] и получаете результат на текущей странице исходя из его значения.
С логикой и связан мой вопрос, так как у самого TV weight указано значение по умолчанию, например 1, тип число, вывод стоит по умолчанию. И при добавлении в вышеупомянутом виде я вижу значение по умолчанию, хотя в карте товара в доп полях прописано иное. В общем, выводится дефолтное значение параметра, а не конкретного товара. Я менял тип данных с числа на текст и т.д. но та же картина. Возможно ли вставлять в Smarty шаблоны текущие значения тв еще каким-то образом, если не хочет работать [[*? Может быть это что-то с modx, или php? У меня Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/1.0.1c PHP/5.3.13 Server at localhost Port 80 и MODX Revolution 2.2.10-pl (traditional)
{assign var=paramss value=[ "limit" => 100 ,"category_id" => 85 ]} {processor action="web/catalog/category/products/getdata" params=$paramss ns="modxsite" assign=result}
Но если вам просто нужны все товары, то правильней просто получать товары, а не искать их в подкатегориях.
{assign var=paramss value=[ "limit" => 100 ]} {processor action="web/catalog/products/getdata" params=$paramss ns="modxsite" assign=result}
простите но все таки не понял — как записать то верно? мне надо выбрать все товары из дочерних от 85 категории
1. web/catalog/category/products/getdata — это процессор, который ищет товары в текущей и во всех вложенных категориях. Там надо указывать category_id (в которой будут искаться товары), а не parent, так как при указании parent он должен бы найти товары с разделом-родителем id 85. У этого раздела просто нет дочерних документов вне дочерних категорий.
2. Выводите ошибки, то есть просто делайте в шаблоне так:
<pre> {print_r($result)} </pre>
$result — это если у вас в процессоре assign=result. Если набивается в другую переменную, само собой надо указывать другую переменную.
А лучше всего это делать в консоли. Там вы сразу увидите ошибки.
<?php $modx->startTime = $modx->getMicroTime(); print '<pre>'; ini_set('display_errors', 1); $modx->switchContext('web'); $modx->setLogLevel(3); $modx->setLogTarget('HTML'); $namespace = 'modxsite'; if(!$response = $modx->runProcessor('web/catalog/category/products/getdata', array(), array( 'processors_path' => $modx->getObject('modNamespace', $namespace)->getCorePath().'processors/', ))){ print "Не удалось выполнить процессор"; return; } $memory = round(memory_get_usage(true)/1024/1024, 4).' Mb'; print "<div>Memory: {$memory}</div>"; $totalTime= ($modx->getMicroTime() - $modx->startTime); $queryTime= $modx->queryTime; $queryTime= sprintf("%2.4f s", $queryTime); $queries= isset ($modx->executedQueries) ? $modx->executedQueries : 0; $totalTime= sprintf("%2.4f s", $totalTime); $phpTime= $totalTime - $queryTime; $phpTime= sprintf("%2.4f s", $phpTime); print "<div>TotalTime: {$totalTime}</div>"; print_r($response->getResponse());
А ошибка следующая:
Array ( [success] =>; [message] => Не была указана категория [total] => 0 [errors] => Array ( ) [object] => Array ( ) )
3. «level» => 2 Такого параметра в процессоре нет.
да спасибо это уже нашел ответ))
Доброй ночи господа) вот пытаюсь вывести фото из tvs
<div class="carousel-inner"> {processor action="web/catalog/products/slider/getdata" ns="modxsite" params="limit=`100`" assign=result} {if $result.success} {foreach $result.object as $object} <div class="item active"> {assign var=imgb value=$object.tvs.bigpicslider.value} <li><img src="{snippet name=phpthumbof params="input=`{$imgb}`&options=`w=200&h=200&zc=1`"}" title="{field name=pagetitle}" align="left"/></li> <div class="carousel-caption"> <h4>{$object.pagetitle}</h4> <p>{$object.tvs.ex_slider.value}</p> </div> </div> {/foreach} {else} {/if} </div>
в итоге получаю ошибку на выходе
<li><img src="<h5>[2014-01-11 01:37:00] (ERROR @ /index.php)</h5><pre>[pThumb] Resource: 1 || Image: (none) File not found: /home/dvershin/rezzzz.com/testmagaz/slider/bootstrap-mdo-sfmoma-03.jpg *** Skipping ***</pre> slider/bootstrap-mdo-sfmoma-03.jpg" title="Главная" align="left"/></li>
Вроде же все так делаю прошу помощи
Добрый! Это не в shopModx, а в modxSmarty. Это не критично. Вот ответ: modxclub.ru/blog/vehicles/252.html#comment2446 Будет скоро пофиксено.