Klike

Klike

Был в сети 30 мая 2024, 12:06
Заказы не принимаю
Код сниппета:
<?php
if (empty($options) || $options == 0) return;
$price = preg_replace('/\s+/', '' , $input);
$old_price = preg_replace('/\s+/', '' , $options);
$discount = round(100 - ($price * 100 / $old_price) , 2);
return $discount;

Вызывать либо с помощью Fenom:
{$price|discount:$old_price}

Либо стандартным синтаксисом:
[[+old_price:gt=`0`:then=`[[+price:discount=`[[+old_price]]`]]`]]
Создаешь сниппет, с таким кодом:
<?php
$id = $modx->resource->id;
$query = $modx->newQuery('modTemplateVarResource', array(
    'tmplvarid' => 3, // ID TV поля
    'contentid' => $id,
));
$query->select('value');
$tv_value = $modx->getValue($query->prepare());
$tv =  $modx->fromJSON($tv_value);
return implode($tv, ', ');
И вызываешь в нужном месте.
$query = $modx->newQuery('modTemplateVarResource', array(
    'tmplvarid' => 43, //ID TV поля
    'contentid' => 1, // ID ресурса
));
$query->select('value');
$tv_value = $modx->getValue($query->prepare());
Если нужно получать TV текущего ресурса:

$id = $modx->resource->id;
$query = $modx->newQuery('modTemplateVarResource', array(
    'tmplvarid' => 43, //ID TV поля
    'contentid' => $id, // ID ресурса
));
$query->select('value');
$tv_value = $modx->getValue($query->prepare());
В переменной $tv_value – то, что тебе нужно