1

Тема: можно ли в шаблоны как-то прикрутить php-код

проблема такая: система рекламы OpenX (www.openX.org) генерирует php-код для вставки на сайт баннеров.
если файлам MT присвоить расширение php - проблема частично решается, но не в тех случаях, когда идет динамическая генерация страницы (например, при поиске) - в таком случае он выводит код на экран. а не баннер.

можно ли в шаблоны как-то прикрутить php-код?

...к тому же привык уже на php - некоторые мелочи мне на нем проще писать.

спасибо

2

Re: можно ли в шаблоны как-то прикрутить php-код

В Панели управления есть пункт "Настройки" и там "Публикации", проверьте пункт "Включении на стороне сервера (SSI)". Возможно, дело в этом.

3

Re: можно ли в шаблоны как-то прикрутить php-код

Ох, что такое SSI в MT — не сразу поймёшь ;)

Оказывается вот как это устроено:
— Например, у нас активирован SSI для PHP. Для того, чтобы он работал, нужно указать расширение для публикуемых файлов — .php, иначе нет смысла.
— Затем мы заходим в какой-нибудь модульный шаблон (например, sidebar) и указываем, что он должен публиковаться как PHP SSI.
— После этого в каком-нибудь другом шаблоне делаем вызов sidebar с помощью тега MT <$mt:Include module="sidebar"$>.
В коде сгенерированной страницы вместо <$mt:Include module="sidebar"$> будет <?php include ("/home/user/sidebar.php"); ?>

Но вообще, чтобы иметь возможность включать php-скрипты, достаточно сделать у шаблонов расширение .php (у индексных шаблонов нужно менять расширение вручную).

4

Re: можно ли в шаблоны как-то прикрутить php-код

saahov пишет:

Оказывается вот как это устроено:

===
я именно так и делал. это действительно работает. НО, когда нужно php включить в системный шаблон - не работает  (Header в моем случае). и тогда при вызове на сайте любого динамического действия, типа поиска - выводится не результат исполнения кода, а сам код.
я так понимаю в случае поиска страничка типа http://мойсайт/cgi-bin/mt/mt-search.cgi?IncludeBlogs=1&limit=20&search=ddd
отрабатывается как перл-скрипт и игнорирует пхп.

т.е. это либо все шаблоны переписывать и убирать часть кода <body...
из системного шаблона Header в модульный шаблон блога, либо переписывать стиль под себя так, чтобы в Header ничего кроме лого не висело и максимально сузить эту часть сайта до 20-30px, а все остальное размещать уже не в системном Header, а в соответствующих шаблонах блога.

есть ли проще путь? хочется задействовать шапку сайта под баннер - там места много - как раз влезет один, а больше мне и не нужно.

5

Re: можно ли в шаблоны как-то прикрутить php-код

Ага, в системных шаблонах php не обрабатывается, потому что они генерируются автоматически на Perl.
Можно с помощью правил if - else определить в шаблонах, какой блок будет выводиться. У меня когда-то так было, когда облако тегов генерировалось на php, а в системных шаблонах — стандартными средствами.

6

Re: можно ли в шаблоны как-то прикрутить php-код

А поподробнее можно - такая же  проблема со вставкой php-кода OpenX для отображения банеров и т.д. - на статике все ок, на динамике только через frame

7

Re: можно ли в шаблоны как-то прикрутить php-код

seo пишет:

на статике все ок, на динамике только через frame

А сам код, который необходимо включить, он на PHP? Т.е. он после включения в шаблон должен какие-то функции выполнять? Если можно, то пример этого кода.

8

Re: можно ли в шаблоны как-то прикрутить php-код

saahov пишет:
seo пишет:

на статике все ок, на динамике только через frame

А сам код, который необходимо включить, он на PHP? Т.е. он после включения в шаблон должен какие-то функции выполнять? Если можно, то пример этого кода.

<?php
  //<!--/* OpenX Тэг для локального режима v2.6.1 */-->

  define('MAX_PATH', '/home/admin/domains/САЙТ.ru/public_html/ads');
  if (@include_once(MAX_PATH . '/www/delivery/alocal.php')) {
    if (!isset($phpAds_context)) {
      $phpAds_context = array();
    }
    $phpAds_raw = view_local('', 89, 0, 0, '', '', '0', $phpAds_context, '');
  }
  echo $phpAds_raw['html'];
?>

В статике нормально выполняется, в случае динамического действия (http://мойсайт/cgi-bin/) - выводится не результат исполнения кода, а сам код.

9

Re: можно ли в шаблоны как-то прикрутить php-код

Так никто и не решил проблему выполнения php в системных шаблонах?

10

Re: можно ли в шаблоны как-то прикрутить php-код

Тема выполнения php в результатах поиска актуальна как никогда :)

11

Re: можно ли в шаблоны как-то прикрутить php-код

А ты пробовал с помощью ssi реализовывать? Я делал так: удалял весь код из шапки и вставлял туды путь к файлу *.shtml ну а в самом файле вызывал скрипт на Перл, я думаю в ПХП тоже мона что-то подобное.

12

Re: можно ли в шаблоны как-то прикрутить php-код

Попробую конечно, но не совсем то чего бы хотелось.

Спасибо.

13

Re: можно ли в шаблоны как-то прикрутить php-код

Сорри за оффтоп, а можно ли прикрутить сапу, если расширение страниц .html?
Пробовал через апач, application/x-httpd-php5 для хтмл, так он выводит Internal Server Error

14

Re: можно ли в шаблоны как-то прикрутить php-код

Переопределить расширение пытались через .htaccess?

15

Re: можно ли в шаблоны как-то прикрутить php-код

AddType application/x-httpd-php .htm .html в .htaccess