Вернуться   Форум SAPE.RU > Система SAPE.ru > Установка кода на различные движки

-->
Ответ
 
Опции темы
Старый 27.11.2012, 16:50   #1
Новичок
 
Регистрация: 28.01.2007
Сообщений: 26
Вес репутации: 0
agr на пути к лучшему
По умолчанию Видимость переменной в шаблонизаторе Smarty

Здравствуйте.
Помогите разобраться с видимостью переменной.
Ставлю код на Webayst.

В файле /published/publicdata/***/attachments/SC/themes/shopping/index.html

Разместил код:
Код:
{php}
global $sape;
if (!defined('_SAPE_USER')){
        define('_SAPE_USER', '****************');
     }
     require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'utf8';
$o['host'] = '***********';
//$sape = new SAPE_client($o);
$o[ 'force_show_code' ] = true;
$sape = new SAPE_client( $o );
unset($o);
global $sape_echo;
global $sape_echo1;
global $sape_echo2;
$sape_echo = $sape->return_links(1);
$sape_echo1 = $sape->return_links(1);
$sape_echo2 = $sape->return_links();
{/php}
Если прямо в этом же файле прописать:
Код:
{php}echo $sape_echo;{/php}
то всё работает и внизу страницы, в коде выводит: <!--check code-->

Но если я хочу раскидать вывод ссылок по шаблону и перемещаюсь например в файл:
/published/SC/html/scripts/templates/frontend/customer_survey.tpl.html
и добавляю там код:
Код:
{php}
global $sape_echo;
echo $sape_echo;
{/php}
То ничего не выводится. При этом, без "global $sape_echo;" тоже самое - тишина.

На сколько я могу понять - код работает прекрасно, а проблема банальна - переменная не передается. Я не программер. Подскажите плиз, что я делаю не так и как передать туда переменную ?

PS Если без переменных в шаблоне выводить так:
Код:
{php}
global $sape;
echo $sape->return_links(1);
{/php}
то появляется ошибка:
Fatal error: Call to a member function return_links() on a non-object in .....

Помогите победить безграмотность в PHP !

Добавлено через 57 минут
В Shop-Script Premium еще работало вот такое сопоставление:

Код:
$smarty->assign('sape_echo',$sape_echo);
$smarty->assign('sape_echo1',$sape_echo1);
$smarty->assign('sape_echo2',$sape_echo2);
И в шаблоне достаточно было вставить {sape_echo}, чтобы выводились ссылки.
А теперь в WebAsyst и эта конструкция не работает, сообщает: Fatal error: Call to a member function assign() on a non-object in

Добавлено через 21 час 48 минут
Короче, засунул я основной код прямо сюда:
/published/SC/html/scripts/templates/frontend/customer_survey.tpl.html
И всё заработало нормально.
Также нормально выводит и из других файлов шаблона, если выводить так:

Код:
{php}
global $sape_echo;
echo $sape_echo;
{/php}
Естественно, выводится ссылка будет только на тех страницах, где есть блок голосование. Но он вроде практически везде выводится.

Пользуйтесь кому надо.
Только сперва надо разрешить использование PHP в Smarty.

published\SC\html\scripts\classes\class.viewsc.php (в старых версиях вроде назывался class.view.php)

Код:
$this->security_settings['PHP_HANDLING'] = true;

$this->security_settings['PHP_TAGS'] = true;

$this->security_settings['INCLUDE_ANY'] = true;

$this->php_handling = SMARTY_PHP_ALLOW;
Обратите внимание, включение этих опций может снизить безопасность сайта в целом, на сколько мне известно.

Последний раз редактировалось agr; 27.11.2012 в 16:50. Причина: Добавлено сообщение
agr вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VIS - видимость в Yandex и Google VAU Вопросы по работе системы 14 21.05.2013 21:20
Полосочки в VIS (видимость) Sandsstorm Пожелания пользователей системы 0 25.02.2011 14:55
случайно удалил значение переменной окружений Path Rerighter Курилка 0 03.09.2010 00:40
про объявление глобальной переменной Spieler Вопросы по работе системы 14 15.04.2008 21:56
Видимость контекстных ссылок Dmitr Контекстные ссылки и все, что с ними связано 0 07.02.2008 14:11


Часовой пояс GMT +3, время: 01:38.