вопрос
Здравствуйте. Уже давно делаю модули для DLE да и вообще работаю с движком.
Но. Я вообще не могу понять, как устроена функция шаблонизатора set_block.
В чем ее смысл и как ее использовать.
Вот пример. Мне нужно отобразить какую-либо информацию для определенного пользователя, у которого есть нужная кука.
Как? В голову идет лишь добавление этих данных в бд/переменную через админку и вывод обычным тегом.
Но, опять же, я видел модуль мультиязычности (честно говоря вообще забыл кто его автор). Он использует эти самые блоки для языков.
ex: [lang_ru]Текст если ты выбрал русский язык[/lang_ru][lang_en]Текст если ты выбрал английский язык[/lang_en]
Но. Я вообще не могу понять, как устроена функция шаблонизатора set_block.
В чем ее смысл и как ее использовать.
Вот пример. Мне нужно отобразить какую-либо информацию для определенного пользователя, у которого есть нужная кука.
Как? В голову идет лишь добавление этих данных в бд/переменную через админку и вывод обычным тегом.
Но, опять же, я видел модуль мультиязычности (честно говоря вообще забыл кто его автор). Он использует эти самые блоки для языков.
ex: [lang_ru]Текст если ты выбрал русский язык[/lang_ru][lang_en]Текст если ты выбрал английский язык[/lang_en]
Разобрался.
Работает все просто. Поясняю для тех, кто нашел этот пост в гугле.
Указываете, например, в main.php (engine/modules/)
В таком случае в main.tpl при блоке
[block]Текст[/block]
Текст будет отображаться ТОЛЬКО если существует эта кука.
UPD by Sander
Подправил код.
Работает все просто. Поясняю для тех, кто нашел этот пост в гугле.
Указываете, например, в main.php (engine/modules/)
if(isset(нужная кука)){
$tpl->set("[block]", "");
$tpl->set("[/block]", "");
$tpl->set_block( "'\\[not-block\\](.*?)\\[/not-block\\]'si", "" );
}else{
$tpl->set("[not-block]", "");
$tpl->set("[/not-block]", "");
$tpl->set_block ( "'\\[block\\](.*?)\\[/block\\]'si", "" );
}
В таком случае в main.tpl при блоке
[block]Текст[/block]
Текст будет отображаться ТОЛЬКО если существует эта кука.
UPD by Sander
Подправил код.