Хак DLE Вставка текста после нужного блока — маленькое решение, позволит гибко управлять добавлением блока с текстовой информацией на вашем сайте под управлением движка DataLife Engine. По словам автора: понадобилось такое решение, т.к. плохо разбирается в вёрстку, хотя пару приёмов в html приходилось применять в практике. Например, когда нужно вывести информацию в несколько колонок и особо, нет желания возиться с дивами, то на помощь приходит старая и удобная табличная верстка. Которую легко может овладеть в совершенстве любой, но использовать таблицы для вывода из тега {custom} не удобно, благо нужно вставить символы окончания строки и начала следующей. Отсюда и появился хак DLE вставка текста после нужного блока, довольно гибкий хак, который может помочь многим выводить нужный текст в модуле или в любом месте шаблона.
Установка:
1. Открыть файл engine/modules/functions.php
Найти:
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
Ниже вставить:
function check_perehod($num, $content, $i) {
if ($i % $num == 0)
return $content;
else
return false;
}
2. Открыть файл engine/modules/show.custom.php
Найти:
$row['category'] = intval( $row['category'] );
Ниже вставить:
$tpl->set_block( "#[perehod=(.+?)](.*?)[/perehod]#ies", "check_perehod('1', '2', '{$i}')" );
Вы также можете подключать тег не только в файле show.custom.php, но и в любых сторонних модулях, где есть шаблон и циклический вывод 🙂
Внимание, третий параметр функции check_perehod — Это количество итераций цикла. Необходимо быть внимательней, при подключении хака в другие модули, может произойти конфликт.
3. Добавить блок в шаблон, для этого в любой файл TPL в нужное место вставить:
[perehod=2]Код, который отобразится, когда текущее кол-во итераций цикла сможет разделиться на параметр без остатка (В нашем случае 2)[/perehod]