Редактор темы

Реклама
Реклама
Реклама
Реклама

DLE Хак | шаблон-обертка для {custom...}

  • Автор темы Автор темы iCooLER
  • Дата начала Дата начала

iCooLER

Кодер
Регистрация
13 Сен 2016
Сообщения
390
Рейтинг реакций
239
Баллы
43
Возраст
31
1/3
Автор темы
Хак позволяет «обернуть» результат выполнения {custom'а в свой шаблон с возможностью использовать два условия. Все поймете по данному примеру(должны понять!):
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 );
 
Последнее редактирование:
{result} использует шаблон краткой новости? как ему задать можно отдельный свой шаблон?
 
Автор темы
{result} использует шаблон краткой новости? как ему задать можно отдельный свой шаблон?
😱😵😕😡 ска.....

Предвидя вопросы отвечаю сразу: параметр template="шаблон новости" вы используйте как хотите. Данных хак его не касается. Хак «оборачивает» результат выполнения {custom'а в шаблон

юзай template="майн_шаблон_для кастомной_новости" )))))

{custom template="шаблон новости" result="обернем результат выполнения"}
 
Автор темы
3
я просто по примеру кастома вставку сделал, и увидел результат 🙂

Всё работает отлично! Спасибо! 😉
Только когда тему создавал подумал, то что наверно хорошо было бы в обертке выводить хотя-бы название новости. Чтобы можно было прописать типа
HTML:
<h2>Новости к сериалу {title}</h2>
 
Только когда тему создавал подумал, то что наверно хорошо было бы в обертке выводить хотя-бы название новости. Чтобы можно было прописать типа
HTML:
<h2>Новости к сериалу {title}</h2>
было бы отлично 🙂
 

Похожие темы Последние темы Популярные темы

Назад
Сверху