Хак позволяет «обернуть» результат выполнения {custom'а в свой шаблон с возможностью использовать два условия. Все поймете по данному примеру(должны понять!):
Чтобы заюзать хак нужно добавить кусок кода в файл(сделать одну правку) и после этого можно использовать параметр result="название_шаблона" в {custom...}. К примеру: {custom category="20" limit="100" result="customs/one"}
P.S.: Предвидя вопросы отвечаю сразу: параметр template="шаблон новости" вы используйте как хотите. Данных хак его не касается. Хак «оборачивает» результат выполнения {custom'а в шаблон, название которого вы укажете в result="шаблон дял кастома". Если вы его не укажете, то {custom выполнится как обычно — вы можете продолжат юзать тег {custom в привычном режиме даже после установки хака!
Установка: /engine/modules/functions.php
Найти:
Заменить на:
HTML:
[result]
<h2>Новости по теме</h2>
<ul>
{result}
</ul>
[/result]
[not-result]
новостей нет
[/not-result]
Чтобы заюзать хак нужно добавить кусок кода в файл(сделать одну правку) и после этого можно использовать параметр result="название_шаблона" в {custom...}. К примеру: {custom category="20" limit="100" result="customs/one"}
P.S.: Предвидя вопросы отвечаю сразу: параметр template="шаблон новости" вы используйте как хотите. Данных хак его не касается. Хак «оборачивает» результат выполнения {custom'а в шаблон, название которого вы укажете в result="шаблон дял кастома". Если вы его не укажете, то {custom выполнится как обычно — вы можете продолжат юзать тег {custom в привычном режиме даже после установки хака!
Установка: /engine/modules/functions.php
Найти:
PHP:
if ( $custom_news ) create_cache( "news", $tpl->result['content'], $custom_cache_id, true );
PHP:
if ( preg_match( "#result=['\"](.+?)['\"]#i", $param_str, $match ) ) {
if ( file_exists( TEMPLATE_DIR . '/' . $match[1] . '.tpl' ) ) {
$result = file_get_contents( TEMPLATE_DIR . '/' . $match[1] . '.tpl' );
$result = str_replace( '{result}', $tpl->result['content'], $result );
$result = preg_replace( array( '#\\[result\\](.*?)\\[/result\\]#iusU', '#\\[not-result\\](.*?)\\[/not-result\\]#iusU' ), $custom_news ? array( '\1', '' ) : array( '', '\1' ), $result );
$tpl->result['content'] = $result;
}
}
create_cache( "news", $tpl->result['content'], $custom_cache_id, true );
Последнее редактирование:



