blaga 39 Опубликовано: 2 марта 2010 Рассказать Опубликовано: 2 марта 2010 Доброго времени суток. Понадобилось сделать свою страницу на дле с возможностью полного изменения шаблона. То есть при обращении к скрипту index.php?do=bookreader выводить абсолютно другой шаблон для сайта. Все сделано так: 1. В файл engine/engine.php было добавлено case "bookreader" : include ENGINE_DIR . '/modules/bookreader.php'; break; 2. в папке engine/modules/ был создан файл bookreader.php 3. в папке templates/default/ был создан файл bookreader.tpl 4. файл bookreader.php имеет следующий код <?php if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt! На всякий случай ваш IP был записан." ); } $tpl->load_template( 'bookreader.tpl' ); $tpl->set( '{blabla}', "Текст который нужно увидеть." ); $tpl->compile( 'content' ); $tpl->clear(); ?> 5. Для того что бы по в этом скрипте мне выводить только свой дизайн я исправил main.tpl так:(main_all.tpl - там хранится основной шаблон сайта) [aviable=bookreader] {include file="bookreader.tpl"} [/aviable] [not-aviable=bookreader] {include file="main_all.tpl"} [/not-aviable] 6. В файле bookreader.tpl такой код <style> body { margin: 0px; padding: 0px; background: #999; } DIV.content1 { background: #999; font-size: 16px; margin: 0; padding-left: 5px; overflow: auto; height: 94%; } .panel { background: #666666; font-size: 90%; margin: 0; padding: 2px; height: 5%; } </style> <div class="panel"> asd </div> <div class="content1"> {blabla} </div> Проблема в том что на выходе в браузере моя переменная {blabla} не заменяется на текст Текст который нужно увидеть. Что я делаю не так? Всем заранее спасибо. Плюсомет наготове. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 2 марта 2010 Рассказать Опубликовано: 2 марта 2010 За пункт номер один, можно поставить много минусов. Ваша возможность реализуется полностью без правки файлов скрипта http://dle-news.ru/extras/online/index.html?modules_include.html Цитата Ссылка на сообщение Поделиться на других сайтах
blaga 39 Опубликовано: 2 марта 2010 Рассказать Опубликовано: 2 марта 2010 Автор а есть ли в этом какая то разница? я понимаю что мол при обновлении удобнее будет. А кроме этого? Цитата Ссылка на сообщение Поделиться на других сайтах
kang 42 Опубликовано: 2 марта 2010 Рассказать Опубликовано: 2 марта 2010 (изменено) за использование style в шаблоне тоже минус Ибо стили должны быть заключены в head. 5 пункт не понятен. А так вроде должно работать Изменено 2 марта 2010 пользователем kangalexey Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 2 марта 2010 Рассказать Опубликовано: 2 марта 2010 я понимаю что мол при обновлении удобнее будет. А кроме этого? этого мало? В этом и есть преимущество, чтобы при обновлении все работало автоматически Цитата Ссылка на сообщение Поделиться на других сайтах
blaga 39 Опубликовано: 2 марта 2010 Рассказать Опубликовано: 2 марта 2010 (изменено) Автор вроде все решил как сделать. Кому интересно все это теперь выглядит так. Все сделано так: 1. Для того что бы по в этом скрипте мне выводить только свой дизайн я исправил main.tpl так:(main_all.tpl - там хранится основной шаблон сайта) [aviable=bookreader]{include file="engine/modules/bookreader.php"} [/aviable] [aviable=bookreader] {include file="bookreader.tpl"} [/aviable] [not-aviable=bookreader] {include file="main_all.tpl"} [/not-aviable] 2. в папке engine/modules/ был создан файл bookreader.php 3. в папке templates/default/ был создан файл bookreader.tpl 4. файл bookreader.php имеет следующий код <?php if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt! На всякий случай ваш IP был записан." ); } $tpl->load_template( 'bookreader.tpl' ); $tpl->set( '{blabla}', "Текст который нужно увидеть." ); $tpl->compile( 'main' ); echo $tpl->result['main']; $tpl->global_clear (); ?> 6. В файле bookreader.tpl такой код <style> body { margin: 0px; padding: 0px; background: #999; } DIV.content1 { background: #999; font-size: 16px; margin: 0; padding-left: 5px; overflow: auto; height: 94%; } .panel { background: #666666; font-size: 90%; margin: 0; padding: 2px; height: 5%; } </style> <div class="panel"> asd </div> <div class="content1"> {blabla} </div> Теперь все вроде хорошо работает. При переходе на index.php?do=bookreader выходит абсолютно другой шаблон на страницу, но нужные мне глобальные переменные остаются на местах. kangalexey, это для примера что бы меньше писать на форум. 5 пункт был о том что бы выводился абсолютно другой дизайн на странице. celsoft, переделал по вашему совету, но проблема была в другом. А по поводу обновления, мне было бы не влом переписать пару строк при обновлении. Тем более что модуль пишется только для себя. Но раз уж переделал и все работает то пускай все так и останется. Возможно позже и вправду пригодится. Изменено 2 марта 2010 пользователем blaga Цитата Ссылка на сообщение Поделиться на других сайтах
blaga 39 Опубликовано: 3 марта 2010 Рассказать Опубликовано: 3 марта 2010 Автор оказалось что работало все немного не так как хотелось бы. БЫли косяки в виде удвоения дизайна. что бы исправить ошибку нужно исправить первый пункт. 1. Для того что бы по в этом скрипте мне выводить только свой дизайн я исправил main.tpl так:(main_all.tpl - там хранится основной шаблон сайта) [aviable=bookreader]{include file="engine/modules/bookreader.php"} [/aviable] [not-aviable=bookreader] {include file="main_all.tpl"} [/not-aviable] Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.