R2m0x94 (Vasily)

R2m0x94 (Vasily)

С нами с 07 мая 2018; Место в рейтинге пользователей: #362
Василий Наумкин
11 декабря 2013, 16:58
1
0
Думаю, можно добавить обработку modX::placeholders в getChunk. Там уже есть работа с % и ~, пусть будет и ++.

Состряпал тест:
$pdo = $modx->getService('pdoFetch');
$time = microtime(true);
for ($i = 1; $i <= 1000; $i++) {
	$res = $pdo->getChunk('@INLINE [[++site_name]]', array(), false);
}
echo microtime(true) - $time;

Со старой передачей в парсер выходит 0.25 сек, с новой — 0.026. Надеюсь, глюков это не прибавит.
Василий Наумкин
28 октября 2013, 22:15
2
0
Рано радуешься, нужно же еще форму вынести в чанк.

Указываем параметр с именем чанка:
<div id="connect_table">
	[[!resource?tpl=`myForm`]]
</div>

Прописываем обработку чанка в сниппете:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    extract($_POST);
}
$count = $count1 + $count2 + $count3;

return $modx->getChunk($tpl, array(
	'count' => $count
));

И пишем сам чанк с формой myForm:
<form action="[[~[[*id]]]]" method="post" class="form_db">
	<input type="number" name="count1" value="5" />
	<input type="number" name="count2" value="7" />
	<input type="number" name="count3" value="2" />
	<button type="submit" name="submit">ok</button>
</form>
<p>[[+count]]</p>

Вот, примерно так все в MODX и разделяется.