Быстро включаем Fenom на страницаx.
Приветствую, довольно часто приходят клиенты с просьбой внести какие-то правки на сайте, и бывает так, что fenom на страницах не используется, а я привык, он удобные. Иду тогда в настройки и включаю. После этого сайт перестает отображаться, вместо страниц белый экран. Надо включать сохранение ошибок и искать, где есть открывающая фигурная скобка и ставить после неё пробел. Хорошо, если это только код метрики в шапке, но бывают запущенные случаи, тогда проще написать небольшой скрипт. Собственно его и выкладываю. Он простой, но скопировать готовое всегда проще)))
!!! ВАЖНО!!! Если хотите обработать только чанки из определенных категорий, передайте третьим параметром массив вида
<?php
/**
* @param string $className
* @param string $field
* @return string
*/
function replaceCurlyBrace($className, $field, $where = array()){
global $modx;
$objects = $modx->getIterator($className, $where);
$c = 0;
if($objects){
foreach($objects as $object){
$value = $object->get($field);
$new_value = str_replace('{', '{ ', $value);
$new_value = preg_replace('/\{\s(foreach|\/|if|var|set|switch|case|default|\$|\'|include|else)/', '{\1', $str);
$object->set($field, $new_value);
$object->save();
$c++;
}
}
return $c . '
';
}
// передаем имя класса и поле, в котором нужно сделать замены
echo replaceCurlyBrace('modTemplate', 'content');
echo replaceCurlyBrace('modChunk', 'snippet');
!!! ВАЖНО!!! Перед запуском сделайте резервную копию.!!! ВАЖНО!!! Если хотите обработать только чанки из определенных категорий, передайте третьим параметром массив вида
array('category:IN' => [0,32]) // так будут получены чанки без категории и из категории с id 32
ID категории надо смотреть в списке категорий, а не на вкладке чанки или какой-то ещё.
Поблагодарить автора
Отправить деньги