Плагин для вставки PHP когда
3axap |
|
---|---|
Здравствуйте. В очередной раз столкнулся с проблемкой. Не подскажите, есть ли способ вставить в шаблон php код? Поюзал поиск и файловый архив, единственное что нашел - это вставка кода Sape. Не то конечно, но как основа или ориентир. Может есть вариант удобнее? Как в смарти например.. |
esclkm |
|
---|---|
зачем надо php в теме??? у тебя есть php файл с темой - он подрубается)) littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
3axap |
|
---|---|
Может я что-то не допонимаю. Есть вариант воткнуть скажем <?php echo '<p>Hello, world!</p>'; ?> ну или инклюднуть php прям в шаблон? Без создания плагинов, и последующей вствки через котонтевские теги? |
Alex300 |
|
---|---|
Я всегда использую исполнение php при подключении темы. А вывод уже тегами в шаблон. Достаточно удобно. Философия движка не подразумевает исполнение php-кода непосрественно в самом шаблоне. Оффтоп: Мое личное мнение php уже является самодостаточным шаблонизатором и мне было бы удобнее использовать именно его в шаблонах. Так устроены к примеру Joomla, ZendFramework...Однако отсутствие таковой возможности не считаю минусом движка. Смарти и "удобнее", на мой взгляд не совместимые понятия. Добавлено 3 минуты спустя: #36635 3axap: У вас есть файл в корне темы: <имя_темы>.php
Добавляем в него if (!function_exists('myOutputToTpl')){ function myOutputToTpl(){ $ret = "Мой сложный вывод"; return $ret; } } Далее в шаблоне в нужном месте пишем: {PHP.myOutputToTpl} Без тега конечно не обошлось Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
|
This post was edited by Alex300 (2012-12-28 10:40, 12 years ago) |
3axap |
|
---|---|
Ясно, спасибо огромное! Не сточтите за наглость, а как в таком случае может выглядеть <?php echo require_once($_SERVER['DOCUMENT_ROOT']."/plugins/external/trap/main.php");?> Вот так? if (!function_exists('myOutputToTpl')){ function myOutputToTpl(){ echo require_once($_SERVER['DOCUMENT_ROOT']."/plugins/external/trap/main.php"); } }
|
Alex300 |
|
---|---|
насчет echo не уверен - надо поэксперементировать. По идее функция должна вернуть значение. Скорее так: if (!function_exists('myOutputToTpl')){ function myOutputToTpl(){ return require_once($_SERVER['DOCUMENT_ROOT']."/plugins/external/trap/main.php"); } } Хотя все зависит от того, что происходит в подключаемом файле. В крайнем случае можно как-то так: if (!function_exists('myOutputToTpl')){ function myOutputToTpl(){ ob_start(); echo require_once($_SERVER['DOCUMENT_ROOT']."/plugins/external/trap/main.php"); $ret = ob_get_contents(); ob_end_clean(); return $ret; } }Т.е. вывод помещаем в буфер. Тут можно использовать echo. Получаем содержимое буфера и возвращаем его. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
3axap |
|
---|---|
Спасибо! Буду пробовать. Давно этот момент интересовал! ) |
Trustmaster |
|
---|---|
Небольшая поправка, вызов функции из шаблона: {PHP|myOutputToTpl}
May the Source be with you!
|
Alex300 |
|
---|---|
да, точно )))) Всех с Наступающими! Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
3axap |
|
---|---|
Спасибо! Добавлено 3 недели спустя:
Что-то так и не удалось. Выводил и из корня.. и из подпапок. Выводится только сам тег {PHP|myOutputToTpl} файл с php содержит всего навсего <?php Echo "Hello, World!"; ?> И print тоже пробовал. Версия Кота старенькая, 0.6.13. Может все дело в этом? |
|
This post was edited by 3axap (2013-01-18 14:07, 12 years ago) |
esclkm |
|
---|---|
а зачем выводить на экран... littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
3axap |
|
---|---|
Ну я в качестве примера и потестить. Я просто уверен, что потом будет иной код, не "Привет, мир", но потом. Выводить, однако, все равно что-то будет.. Суть в том, что по обоим примерам не вышло. Как стоял одинокий {PHP|myOutputToTpl}, так и стоит.. Ничего не подтягивает за собой. А ошибочный {PHP.myOutputToTpl}, просто пропадет. |
Macik |
|
---|---|
#36642 3axap: Да, на сколько помню колбек вызовов в версии Genoa еще не было. А в какое место на экране планируется вывод вашего скрипта? https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
3axap |
|
---|---|
В footer ( |
Kort |
|
---|---|
#36846 3axap: Расскажите без шарад что за плагин нужен. Мот он есть уже или сделать несложно. SED.by - создание сайтов, разработка плагинов и тем для Котонти
|