CMS Eleanor - Поиск
Полная версия этой страницы: Официальный форум Eleanor CMS » Особенности вставки Sape в текстовый блок через [php]
Официальный форум Eleanor CMS » Для вебмастеров и владельцев сайтов » Комната программистов
Loader
В общем, на сайте установлена Сапа следующим образом:
В файле index.php темы после тега </head> вставлен основной блок:

Цитата
</head>
<!-- Блок Сапы основной -->
<?php

if (!defined('_SAPE_USER')){
    define('_SAPE_USER', 'мой идентификатор');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$Mainclass->sape = new SAPE_client();
?>
<!-- Конец Сапы -->


Далее, я могу в абсолютно любой блок на PHP делать такую вставку:

Цитата
$s_array = explode('-rs-',$Mainclass->sape->return_links(количество выводимых ссылок));
if ($s_array['0'] != '')
{
    $content .= '';
    for($i=0; $i<count($s_array); $i++)
    {
        $content .= '<img src="images/sape.gif" alt="" /> '.$s_array[$i].'<br />';
    }
}


И всё прекрасно работает и я рад и доволен, НО!!!
Возникла у меня необходимость вставить этот блок в текстовый блок , в котором через тэг [dohtml] вставлен код рекламы. Так вот, после [/dohtml] я пытаюсь вставить блок вывода сапы через тэг [php] , но это не получается, в логи пишет ошибку а страница вообще не загружается:

Цитата
Notice: Undefined variable: Mainclass Line: 1 in file /var/www/pdaki192/data/www/pda-kino.net.ru/classes/others/class_ownbb.php(227) : eval()'d code
URL: /news.html
Date: 2010-09-07 17:22:13
IP: 92.252.146.129

Notice: Trying to get property of non-object Line: 1 in file /var/www/pdaki192/data/www/pda-kino.net.ru/classes/others/class_ownbb.php(227) : eval()'d code
URL: /news.html
Date: 2010-09-07 17:22:13
IP: 92.252.146.129


Так вот, уважаемые знатоки, собственно вопрос: в чём дело-то? Что ему не хватает?
Alexander
Самое простое, заменить $Mainclass на Mainclass::getInstance()
Loader
Цитата (Alexander @ 2010-09-07, 18:42)
Самое простое, заменить $Mainclass на Mainclass::getInstance()

Сделал так - и ошибка пропала, но и ссылка сапы не выводится!
Помогите!
Skyff
А зачем лишний геморрой. SAPE MANUAL
Loader
Цитата (Skyff @ 2010-09-08, 17:43)
А зачем лишний геморрой. SAPE MANUAL


То что я привёл выше лучше в 100 раз! Мне надо сделать как я описал.
Skyff
Loader, Чем же лучше? я пока вижу только геморрой.
Loader
Цитата (Skyff @ 2010-09-08, 19:45)
Loader, Чем же лучше? я пока вижу только геморрой.


Вот этим лучше:

Цитата
Далее, я могу в абсолютно любой блок на PHP делать такую вставку


А ваши блоки являются самостоятельными и отдельными единицами!
Skyff
Я тоже могу в любой блок на ПХП вставить код и количество выводимых ссылок ещё прописать. :D
Loader
А в описании вообщето вот так сказано:

Цитата
Как вставить SAPE в Eleanor CMS ?
Метод для создания одного и двух блоков


Цитата (Skyff @ 2010-09-08, 19:54)
Я тоже могу в любой блок на ПХП вставить код и количество выводимых ссылок ещё прописать. :D


Тогда чем лучше-то? :) Как минимум одинаково!
Но решение от Diego элегантнее.
Skyff
Я и говорю что разницы не какой, вся разница в методе вставки кода и все ) Мой метод работает, данный не очень, в этом вся разница, я предложил свой рабочий метод всего навсего.
Loader
Цитата (Skyff @ 2010-09-08, 20:35)
Мой метод работает, данный не очень, в этом вся разница, я предложил свой рабочий метод всего навсего.


Почему это не очень? А вы свой код вставляли в текстовый блок через тэги [php] ? И как? Работает?
Skyff
Наверно работает, почему должен не работать?
Alexander
Loader, сделайте обычный php файл, который используйте в качестве блока - и проще и понятнее и приятнее.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.