Кто-нибудь сталкивался с проблемой при установке. Если как 0.5.1 вставляю код в шаблон, то ошибка получается и все ложится. Не знаете как нужно ставить? В чем отличие теперь? Заранее спасибо!
44 комментария
Вроде был плагин для sape SeoLib, правда еще не адаптирован под новую версию кажется. Хотя на данном сайте ссылки сапы имеются.
Без точного кода я не могу сказать как. Если в футер то вставляй после {hook run='body_end'}
{literal}код{/literal} и php попробуй убрать мне кажется {php}и{/php} там не нужно. Ну вобщем попробуй и так и так, ну если не выйдет то точный код мне в личку скинь я у себя установлю а потом тебе расскажу как вставить
это точный код, только code_sape надо свой подставить
убрал теги, теперь просто код показывает, как с литерал так и без, а если пхп оставляю, то вообще сайт ложится, ошибок кучу выдает
<?php
global $sape;
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'КОД САПЫ');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>
<?php
global $sape;
echo $sape->return_links();
?>
или такой:
<?php
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'КОД САПЫ'');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>
Думаю вопрос надо подругому поставить, как разрешить выполнение кода пхп? Раньше это просто менялось в Smarty.class.php, но теперь allow_php там просто нет, но есть странные
public $allow_php_templates = false;
или
const PHP_PASSTHRU = 0; //-> print tags as plain text
const PHP_QUOTE = 1; //-> escape tags as entities
const PHP_REMOVE = 2; //-> escape tags as entities
const PHP_ALLOW = 3; //-> escape tags as entities
как вариант вам поможет это
Чтоб подключить другой файл в engine/modules/viewer/Viewer.class.php
меняете lib/external/Smarty/libs/Smarty.class.php
на lib/external/Smarty/libs/SmartyBC.class.php
, а new Smarty();
на new SmartyBC();
Где это аукнется не знаю, использовать не рекомендую =) Сам проверил, после этого тэг {php} работает.
На мой взгляд проще создать хук, где исполнить код сапы, а в шаблон передать результат. Это если я правильно представляю как работает сапа.
44 комментария
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'code_sape');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client($o);
echo iconv( «windows-1251», «UTF-8», $sape->return_links() );
{/php}
{literal}код{/literal} и php попробуй убрать мне кажется {php}и{/php} там не нужно. Ну вобщем попробуй и так и так, ну если не выйдет то точный код мне в личку скинь я у себя установлю а потом тебе расскажу как вставить
убрал теги, теперь просто код показывает, как с литерал так и без, а если пхп оставляю, то вообще сайт ложится, ошибок кучу выдает
<?php
global $sape;
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'КОД САПЫ');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>
<?php
global $sape;
echo $sape->return_links();
?>
или такой:
<?php
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'КОД САПЫ'');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>
Для ленивых (как я сделал).
В engine/lib/external/Smarty/libs/plugins/function.sape.php
Пример использования:
можно просто {sape}
<?php
function smarty_function_sape($params,$template)
{
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'БОЛЬШОЙ САПОВКИЙ КОД');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
echo iconv( «windows-1251», «UTF-8», $sape->return_links() );
}
?>
echo test выводится, но самого кода в исходном коде не видно и сайт не индексируется.
На некоторых хостингах выдает совсем не то, что есть на самом деле.
Ну и после должно быть как минумум что-то или
В папке с f12f10cbff9525c7a41a7342be671554 должен быть links.db, его можно удалить, новый появится.
public $allow_php_templates = false;
или
const PHP_PASSTHRU = 0; //-> print tags as plain text
const PHP_QUOTE = 1; //-> escape tags as entities
const PHP_REMOVE = 2; //-> escape tags as entities
const PHP_ALLOW = 3; //-> escape tags as entities
Это оно или нет? если да, то как выставить?
Чтоб подключить другой файл в engine/modules/viewer/Viewer.class.php
меняете lib/external/Smarty/libs/Smarty.class.php
на lib/external/Smarty/libs/SmartyBC.class.php
, а new Smarty();
на new SmartyBC();
Где это аукнется не знаю, использовать не рекомендую =) Сам проверил, после этого тэг {php} работает.
На мой взгляд проще создать хук, где исполнить код сапы, а в шаблон передать результат. Это если я правильно представляю как работает сапа.
www.smarty.net/docs/en/language.function.php.tpl
+1, делал так же
livestreet.ru/blog/10237.html#comment196045
sape работает хорошо.
setlinks работает чуть криво…