Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2013-01-04 12:38:59

lawelian
Участник
Здесь с 2012-12-21
Сообщений: 3
Рейтинг :   

Эврика я реализовал {include file=""} как в DLE!!!

В общем я решил немножко доработать шаблонную систему и надеюсь разработчики включат мою доработку в следующую версию CMS.
также я ввел новый код {tpl_root} это путь до шаблона выглядит так: /templates/vash_shablon
теперь если допустим вы создатите шаблон ame.tpl и поместите его в папку vash_shblon, а допустим в main.tpl вы разместите вот такую конструкцию {include file="{tpl_root}/ame.tpl"} то она обернется содержимым файла ame.tpl

Также можно подключать и php файлы как в DLE и еще один момент: в отличии от DLEшной версии данной реализации в моей можно подключать файлы во всех папках к примеру и вот такой вариант {include file="engine/ame.php"} будет спокойно работать конечно при условии что файл ame.php находится в папке engine.

Так в общем инструкции по установке: мой файл templates.class.php ( http://zalil.ru/34134579 ) нужно поместить (удалить старый поставить мой) в папку
engine/includes/classes

и всё

еще раз очень надеюсь что разработчики учтут мою модификацию в новой версии потому что иногда нет нужды писать полный плагин а достаточно просто подключить определенный php-файл или допустим шаблон меню вынести в отдельный файл

Отредактировано lawelian (2013-01-04 12:41:13)

Вне форума

#2 2013-01-04 17:41:01

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Эврика я реализовал {include file=""} как в DLE!!!

lawelian, поздравляю, ты изобрёл блок [:include TEMPLATE], обработка которого находится в строке ~47 файла template.class.php smile
Единственное "но" - по умолчанию такой инклуд отключен и его нужно специально включать.

Вне форума

#3 2013-01-05 10:32:57

lawelian
Участник
Здесь с 2012-12-21
Сообщений: 3
Рейтинг :   

Re: Эврика я реализовал {include file=""} как в DLE!!!

Да я в курсе этого блока только не в курсе почему нету его в документации;)  это раз, во вторых он у вас очень хреново сделан.
У вас очень плохо реализована функция подключения php кода: eval() в большинстве случаев на хостинге попросту отключен и включть его нельзя потому что "данная функция очень опасна и чревата взломами". Посмотрите как это реализованно у меня (в моем файле в классе функция load_file) это DLEшный вариант. Не в угоду разработчикам дле но просто и изящно честное слово: файл просто инклюдится через ob_start, а потом ob_get_clean() вставляется за место конструкции. Тем самым нам без разницы какой это файл tpl или php и не нужно никаких проверок, как в вашей реализации.

Вне форума

#4 2013-01-06 21:09:37

irbees2008
Продвинутый чайник
Откуда: Шахтинск
Здесь с 2012-03-14
Сообщений: 2,739
Рейтинг :   114 
Сайт

Re: Эврика я реализовал {include file=""} как в DLE!!!

lawelian пишет:

Да я в курсе этого блока только не в курсе почему нету его в документации;)  это раз, во вторых он у вас очень хреново сделан.
У вас очень плохо реализована функция подключения php кода: eval() в большинстве случаев на хостинге попросту отключен и включть его нельзя потому что "данная функция очень опасна и чревата взломами". Посмотрите как это реализованно у меня (в моем файле в классе функция load_file) это DLEшный вариант. Не в угоду разработчикам дле но просто и изящно честное слово: файл просто инклюдится через ob_start, а потом ob_get_clean() вставляется за место конструкции. Тем самым нам без разницы какой это файл tpl или php и не нужно никаких проверок, как в вашей реализации.

этот вопрос уже решался на форуме http://ngcms.ru/forum/viewtopic.php?id=2726

Вне форума

#5 2013-01-08 00:59:26

vitaly
Администратор
Откуда: Россия
Здесь с 2008-10-08
Сообщений: 2,788
Рейтинг :   115 

Re: Эврика я реализовал {include file=""} как в DLE!!!

lawelian, невозможность лёгкого include'а php файлов - осознанный шаг.
От этого можно получить намного больше проблем чем решить задач, при этом при наличии минимального желания можно нужный код "обернуть" в плагин.

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.011 сек, 7 запросов выполнено - Использовано памяти: 530.45 Кбайт (Пик: 550.52 Кбайт) ]