Нужна помощь PHP + smatry

12
Romaldo
На сайте с 10.02.2008
Offline
183
956

Доброго всем времени.

Пытался решить этот вопрос на sape - но никто не может дать совет. Вернее советы есть,

а результата нет.

Продаю ссылки на sape. Решил разнести их по странице. Но чтобы как-то их облагородить, задумал такую вещь:

если ссылка есть, тогда выводим специальный блок с названием, типа Реклама, Партнеры и тд, если ссылки нет, то нет и блока, и его названия... Согласитесь, не очень красиво - Блок с названием Реклама, а в нем пусто.

И тут началась запара...

В файлах php вставляю код

global $sape;

if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'ХХХХХХХХХХХХХХХХХХХХХХХХХХ');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

$o['host'] = 'мой сайт.com';
$o[force_show_code] = true;
$o[charset] = "utf-8";
$sape = new SAPE_client($o);
$tpl->assign("sape_links1", $sape->return_links(1));
$tpl->assign("sape_links2", $sape->return_links(1));
$tpl->assign("sape_links3", $sape->return_links(1));
$tpl->assign("sape_links4", $sape->return_links(1));

А затем в файлах шаблона (смарти) в месте где хочу вывести ссылку такое

{$sape_links1} {$sape_links2} и тд

Теперь пытаюсь решить свой вопрос таким образом:

{if $sape_links2}   //если ссылка есть - выводим заголовок и ссылку


Заголовок блока
{$sape_links2}

{else} //иначе check код для сапы

{$sape_links2}

{/if}

Получается так, что заголовок все время висит.

В общем как я не крутил, ничего не выходит.

Подскажите, как правильно синтаксически написать в шаблоне проверку на наличие ссылки, и выполнение условия.

Кстати, при использовании кода

{if $sape_links2} 




{else}

{$sape_links2}

{/if}

Ссылка не выводится, хотя она есть, значит я на верном пути...

HraKK
На сайте с 02.03.2009
Offline
128
#1

А вывести что содержится в этой переменной ( var_dump ) религия не позволяет?

я гарант (/ru/forum/493343) уже не оказываю данные услуги, извините.
embo
На сайте с 05.12.2008
Offline
24
#2
romagromov:

Теперь пытаюсь решить свой вопрос таким образом:

{if $sape_links2}   //если ссылка есть - выводим заголовок и ссылку


Заголовок блока
{$sape_links2}

{else} //иначе check код для сапы

{$sape_links2}

{/if}

Получается так, что заголовок все время висит.

вам не кажется, что как ни крути всегда срабатывает {$sape_links2}?

Плавно двигаемся от сапы к статьям (http://miralinks.ru/users/registration/from:4223)
HraKK
На сайте с 02.03.2009
Offline
128
#3

embo, у него явно какая-то хрень в переменной а не то что он ждет. Поэтому дебаг тут не заменим.

[Удален]
#4

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

это пишем в php файле:

if (!defined('_SAPE_USER')){

define('_SAPE_USER', 'ваш id');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);

а это в шаблоне:

<div class="links">{php}global $sape; echo $sape->return_links(1);{/php}</div>
Romaldo
На сайте с 10.02.2008
Offline
183
#5
embo:
вам не кажется, что как ни крути всегда срабатывает {$sape_links2}?

мне то кажется, он и должен всегда срабатывать... при таком коде ссылка выводится, только тогда когда она есть в базе,

а вот Заголовок блока, всегда, а надо чтоб Заголовок блока выходил только при наличии ссылки

romagromov добавил 15.05.2009 в 21:36

HraKK:
А вывести что содержится в этой переменной ( var_dump ) религия не позволяет?

Я не знаю как это сделать... Может кто-то просто написать код, для вставки именно в шаблон?

romagromov добавил 15.05.2009 в 21:39

free_styler:
попробуйте сделать другим путем...зачем всё в переменные переносить? можно в шаблоне просто пхп код вставить..я делал именно так:
это пишем в php файле:

if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'ваш id');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);


а это в шаблоне:
<div class="links">{php}global $sape; echo $sape->return_links(1);{/php}</div>

Код который в файлах php менять нельзя, можно только тот, что в шаблонах

Все переменные хочу перенести, чтобы разнести ссылки по странице и для КАЖДОЙ сделать разное оформление и Заголовок блока

[Удален]
#6

Ну я просто пример привел...главную часть кода не меняйте..просто уберите 4 последние строчки...а вместо них в шаблоне в нужном месте выведите то что я написал...

A
На сайте с 30.01.2009
Offline
26
#7

а просто инклудом нельзя?

Romaldo
На сайте с 10.02.2008
Offline
183
#8

в общем смысл такой:

1. все что в php файле не меняем

2. ссылки выводятся только путем добавления в шаблон {$sape_links1} {$sape_links2} и так далее

надо при наличии ссылки для вывода показать заголовок, может таблицу и вообще любой элемент html,

если ссылки для вывода нет - то нет вообще ничего...

Это возможно?

Просто, необычный движок, и чтобы вообще выводить в нем ссылки пришлось так заморачиваться...

HraKK
На сайте с 02.03.2009
Offline
128
#9

десять баксов

Romaldo
На сайте с 10.02.2008
Offline
183
#10
HraKK:
десять баксов

вообще-то описание раздела для новичков выглядит как

"Задавайте здесь любые вопросы - вам ответят"

а как же "все люди братья, должны помогать друг другу"...

я думал это форум, а не площадка для фрилансеров...

Может кто-то еще помочь?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий