Илья Уткин

Илья Уткин

С нами с 15 декабря 2012; Место в рейтинге пользователей: #12
Илья Уткин
11 декабря 2015, 02:33
+1
Ах, да, это же не PHP… У меня вот так заработало:
{var $date = date(time(), 'Y-m-d H:i:s -1 \d\a\y')}
{$date|date:"Y/m/d h:m:s"}
Илья Уткин
11 декабря 2015, 02:29
0
Кстати, конкатенацию делать необязательно. Попробуйте так:
{var $date = date('Y-m-d H:i:s -1 \d\a\y')}
{$date|date:"%Y/%m/%d %H:%M:%s"}
Илья Уткин
10 декабря 2015, 19:27
1
0
В документации, видимо, ошибка. В коде не совсем так.

Попробуйте
{var $ts = date('Y-m-d H:i:s')." -1 day"}
{$ts|date:"%Y/%m/%d %H:%M:%s"}
Илья Уткин
10 декабря 2015, 12:17
0
Если это вся задача, готов взяться
Илья Уткин
10 декабря 2015, 11:39
1
+4
$chunk = $modx->getObject('modChunk', array('name' => 'tpl.row'));
return $chunk->get('static_file');
Илья Уткин
08 декабря 2015, 15:25
0
А зачем их «совмещать»? EventsCalendar2 и так работает через AJAX.
Илья Уткин
08 декабря 2015, 14:34
0
Вряд ли на этом сайте есть специалисты по Java
Илья Уткин
07 декабря 2015, 13:48
0
А чанк-то такой существует? Текст в чанке есть?
Илья Уткин
07 декабря 2015, 13:47
+6
Согласен. Внес свой вклад =)
Илья Уткин
04 декабря 2015, 21:48
+3
Нужно просто в настройках включить использование php в Fenom и доступ к объекту modx. Тогда эти два момента разрешатся.

Это для безопасности — вдруг на сайте есть контент-менеджер, который может править чанки.
Илья Уткин
04 декабря 2015, 21:45
0
Лучше записывать текущее время в editedon при создании
Илья Уткин
04 декабря 2015, 12:09
1
+2
&sortby=`{ "editedon":"DESC", "createdon":"DESC" }`
Илья Уткин
02 декабря 2015, 13:18
0
Вот эти ТВ, видимо, относятся не к товару, а к категории.
Надо в начале сниппета получить этот ресурс (категорию) через getObject, получить значения соответствующих ТВ-шек через getTVValue, присвоить эти значения переменным.

А потом при присвоении $amount производить соответствующие вычисления.

Вот справочный материал: ilyaut.ru/xpdo/xpdo-for-dummies-part-4/
Илья Уткин
02 декабря 2015, 10:49
+2
Я знаю только такой костыльный способ:

[[pdoResources:toPlaceholder=`exclude`?
    &limit=`0`
    &returnIds=`1`
    &includeTVs=`moderation`
    &where=`{ "moderation":1 }`
]]
[[pdoResources?
    &limit=`3`
    &tpl=`tpl.row`
    &includeTVs=`moderation`
    &where=`{ "id:NOT IN":[ [[+exclude]] ] }`
]]

То есть сначала получаем список всех ресурсов, у которых ТВ = 1, а потом их исключаем из выборки. Но это уже два запроса в базу…
Илья Уткин
01 декабря 2015, 21:07
+1
В системных настройках удалить путь к скрипту и стилям. На нужных страницах вручную прописать их подключение.
Илья Уткин
01 декабря 2015, 19:22
+1
Ого! Супер! Спасибо.
Илья Уткин
01 декабря 2015, 15:37
0
$productRes = $modx->getObject('modResource', $_GET['product']);
$product = $productRes->pagetitle;
$modx->setPlaceholder('product', $product); // Устанавливаем плейсхолдер с названием товара
$amount = $productRes->getTVValue('price');
$modx->setPlaceholder('amount', $amount); // Устанавливаем плейсхолдер с ценой

if (!$_POST['phone']) return;
$properties = $modx->resource->get('properties');
$orders = $properties['orders'];
if (!$orders) $orders = array();
$ordertId = count($orders) + 1;
$orders[$ordertId] = array(
        'num' => $ordertId,
        'amount' => $amount,
        'product' => $product,
        'phone' => $_POST['phone'],
        'paid' => 0
    );
$properties['orders'] = $orders;
$modx->resource->set('properties', $properties);
$modx->resource->save();
$form = $modx->getChunk('payForm', $orders[$ordertId]);
print $form;
die();


И в форме эти поля будут доступны в соответствующих плейсхолдерах:

[[!createOrder]]
<h2>Вы собираетесь приобрести [[+product]]. Стоимость составляет [[+amount]] руб.</h2>
<form action="" method="post">
<input name="phone" />
</form>