Forumlar / National / Russian / Модули и плагины / Ищу плагин

12>>>

Плагин для вставки PHP когда

3axap
#1 2012-12-27 18:47

Здравствуйте. В очередной раз столкнулся с проблемкой. Не подскажите, есть ли способ вставить в шаблон php код? Поюзал поиск и файловый архив, единственное что нашел - это вставка кода Sape. Не то конечно, но как основа или ориентир.

Может есть вариант удобнее? Как в смарти например..

esclkm
#2 2012-12-28 06:56

зачем надо php в теме???

у тебя есть php файл с темой - он подрубается))

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
3axap
#3 2012-12-28 10:14

Может я что-то не допонимаю. Есть вариант воткнуть скажем <?php echo '<p>Hello, world!</p>'; ?> ну или инклюднуть php прям в шаблон? Без создания плагинов, и последующей вствки через котонтевские теги?

Alex300 Çevrimiçi
#4 2012-12-28 10:19

Я всегда использую исполнение php при подключении темы. А вывод уже тегами в шаблон. Достаточно удобно.

Философия движка не подразумевает исполнение php-кода непосрественно в самом шаблоне.

Оффтоп:

Мое личное мнение php уже является самодостаточным шаблонизатором и мне было бы удобнее использовать именно его в шаблонах. Так устроены к примеру Joomla, ZendFramework...Однако отсутствие таковой возможности не считаю минусом движка.

Смарти и "удобнее", на мой взгляд не совместимые понятия.

Добавлено 3 минуты спустя:

#36635 3axap:

Может я что-то не допонимаю. Есть вариант воткнуть скажем <?php echo '<p>Hello, world!</p>'; ?> ну или инклюднуть php прям в шаблон? Без создания плагинов, и последующей вствки через котонтевские теги?

У вас есть файл в корне темы: <имя_темы>.php

Добавляем в него
 

if (!function_exists('myOutputToTpl')){
   function myOutputToTpl(){

      $ret = "Мой сложный вывод";
      return $ret;
   }
}

Далее в шаблоне в нужном месте пишем: {PHP.myOutputToTpl}

Без тега конечно не обошлось

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/

Bu konu Alex300 tarafından düzenlendi(2012-12-28 10:40, 11 yıllar önce)
3axap
#5 2012-12-28 10:46

Ясно, спасибо огромное! Не сточтите за наглость,  а как в таком случае может выглядеть <?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 Çevrimiçi
#6 2012-12-28 11:03

насчет 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
#7 2012-12-28 11:06

Спасибо! Буду пробовать. Давно этот момент интересовал! )

Trustmaster
#8 2012-12-28 14:23

Небольшая поправка, вызов функции из шаблона:

{PHP|myOutputToTpl}

 

May the Source be with you!
Alex300 Çevrimiçi
#9 2012-12-28 14:35

да, точно ))))

Всех с Наступающими!

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
3axap
#10 2012-12-28 15:40

Спасибо! 

Добавлено 3 недели спустя:

Что-то так и не удалось. Выводил и из корня.. и из подпапок. Выводится только сам тег {PHP|myOutputToTpl}
Пишу код по реккомендациям из поста номер 6, в файле имя_скина.php перед тегом ?>

файл с php содержит всего навсего 

<?php 
 Echo "Hello, World!";
 ?> 

И print тоже пробовал. Версия Кота старенькая, 0.6.13.

Может все дело в этом?


Bu konu 3axap tarafından düzenlendi(2013-01-18 14:07, 11 yıllar önce)
esclkm
#11 2013-01-18 21:32

а зачем выводить на экран...

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
3axap
#12 2013-01-20 10:18

Ну я в качестве примера и потестить. Я просто уверен, что потом будет иной код, не "Привет, мир", но потом. Выводить, однако, все равно что-то будет..

Суть в том, что по обоим примерам не вышло. Как стоял одинокий {PHP|myOutputToTpl}, так и стоит.. Ничего не подтягивает за собой. А ошибочный {PHP.myOutputToTpl}, просто пропадет.

Macik
#13 2013-01-20 21:46
#36642 3axap:

И print тоже пробовал. Версия Кота старенькая, 0.6.13.

Может все дело в этом?

Да, на сколько помню колбек вызовов в версии Genoa еще не было. 

А в какое место на экране планируется вывод вашего скрипта?  

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
3axap
#14 2013-01-21 13:46

В footer (

Kort
#15 2013-01-21 17:47
#36846 3axap:

В footer (

Расскажите без шарад что за плагин нужен. Мот он есть уже или сделать несложно.

SED.by - создание сайтов, разработка плагинов и тем для Котонти

12>>>