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

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

rss

Вы не зашли.

Объявление

#1 2013-01-04 13: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 13:41:13)

Неактивен

 

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

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

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

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

Неактивен

 

#3 2013-01-05 11: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 22:09:37

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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 01:59:26

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

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

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

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.008 seconds, 11 queries executed ]