выгружаются товары и нужно цену умножить на 1.1
как это сделать грамотно?
вывод осуществляет Doclister
///////////////////////////////////////
<?php
// Параметры для DocLister
$params = array(
'display' => 10000,
'depth' => '4',
'tpl' => 'ymlGoodsTpl-copy',
'tvList' => 'image,price,old_price,availability,isnew,quantity,preorder,qty_rumyancevo,qty_trcnora,qty_vegas,length_pack,width_pack,height_pack,weight_pack',
'id' => 'list_g',
'parents' => '7,8,9,10',
'orderBy' => 'menuindex ASC',
'prepare' => 'prepareGoodsYML',
'addWhereList' => 'c.parent NOT IN(5523,5536,5543)',
);
$f[] = 'tv:quantity:egt:0';
if ($f) {
$params['filter_delimiter'] = '||';
$params['filters'] .= 'AND(' . implode("; ", $f) . ')';
}
$out = $modx->runSnippet("DocLister", $params);
return $out;
/////////////////////////////////////
и шаблон вывода карточки
/////////////////////////////////////
<offer id="[+id+]" available="true">
<url>[(site_url)][~[+id+]~]</url>
<price>[+tv.price+]</price>
<currencyId>RUR</currencyId>
<categoryId>[+parent+]</categoryId>
<picture>[+tv.image+]</picture>
<name>[+pagetitle+]</name>
<description>
[+content+]
</description>
<delivery>true</delivery>
</offer>
/////////////////////////////////////
нашел в старой ветке https://modx.evo.im/blog/addons/5779.html такой вариант, но не врублюсь куда его воткнуть
$data['tv.price'] = $data['tv.price'] * 2;
Советую ознакомиться: DocLister
Доброго и Вам. А что будет, коли в шаблоне вывода сделать так? [+tv.price+] * 2
я об этом сразу подумал, но откинул как слишком простой вариант 😁 вернусь к компу через час - проверю и отпишу но я думал, что он выведет что то в духе 79900*2 вместо того, чтобы перемножить
Стикер
Только (возможно) не стоит перезаписывать значение $data['tv.price'], если оно где-то еще используется в выводе. Мало ли там, старая цена/новая цена, я детально не смотрел ваш пример. В общем, если $data['tv.price'] больше нигде не юзается - можно перезаписать, а иначе в препаре лучше так: $data['priceYML'] = $data['tv.price'] * 2 а в DocLister-шаблоне будет так <price>[+priceYML+]</price>
Да, так не выйдет.
спасибо, я понял, щас буду пробовать, если что -- вернусь с глупыми вопросами )
Вопросов, не бывает глупых, если они по делу )) бывают плохо заданные вопросы, типа "а почему у меня не получается" - и всё, больше инфы ноль 😁 А вы отлично написали вопрос, не поленились всю инфу дать, поэтому и ответить несложно.
правильно ли я понял, что "препара" — вот этот РНР код <?php // Параметры для DocLister $params = array( 'display' => 10000, 'depth' => '4', 'tpl' => 'ymlGoodsTpl-copy' ........... и т.д. ......
Советую ознакомиться: DocLister
ну да )) как я и думал .. если так сделать то вывод будет <price>71990*2</price>
Нет. Препаре у вас указано в параметрах, вот:
Обсуждают сегодня