Консультация № 145367
29.09.2008, 00:38
0.00 руб.
0 2 1
Час добрый!
Помогите пожалуйста!
Немогу разобраться в функциях смарти. В меню на разных страничках надо чтобы подгружались разные картинки.
Прописал такой код
Код:
 {if $smarty.request.p=='index'}<img src="{$img_folder}/splash_1.png" alt="" border="0" />
{elseif $smarty.request.p=='onas'}<img src="{$img_folder}/splash_2.png" alt="" border="0" />
{elseif $smarty.request.p=='news'||$smarty.request.p=='newsarchive'}<img src="{$img_folder}/splash_3.png" alt="" border="0" />
{elseif $smarty.request.p=='idei'}<img src="{$img_folder}/splash_4.png" alt="" border="0" />
{elseif $smarty.request.p=='impressum'}<img src="{$img_folder}/splash_5.png" alt="" border="0" />
{elseif $smarty.request.p=='gallery'}<img src="{$img_folder}/splash_6.png" alt="" border="0" />
{elseif $smarty.request.p=='poslrab'}<img src="{$img_folder}/splash_7.png" alt="" border="0" /> {else}<img src="{$img_folder}/splash_8.png" alt="" border="0" />
{/if}


страницы:
/index.php?p=index&area=1 (картинка меняется)

/index.php?area=1&p=static&page=onas (картинка не меняется)

/index.php?p=newsarchive&area=1 (картинка меняется)

/index.php?area=1&p=static&page=idei (картинка не меняется)

/index.php?area=1&p=static&page=impressum (картинка не меняется)

/index.php?p=gallery&area=1 (картинка меняется)

/index.php?area=1&p=static&page=poslrab (картинка не меняется)

В чём моя ошибка?

Обсуждение

Неизвестный
29.09.2008, 07:01
общий
это ответ
Здравствуйте, Чумак Дмитрий Иванович!
{if $smarty.request.p=='index'}<img src="{$img_folder}/splash_1.png" alt="" border="0" />
{elseif $smarty.request.p=='onas'}<img src="{$img_folder}/splash_2.png" alt="" border="0" />
{elseif $smarty.request.p=='news'||$smarty.request.p=='newsarchive'}<img src="{$img_folder}/splash_3.png" alt="" border="0" />
{elseif $smarty.request.p=='idei'}<img src="{$img_folder}/splash_4.png" alt="" border="0" />
{elseif $smarty.request.p=='impressum'}<img src="{$img_folder}/splash_5.png" alt="" border="0" />
{elseif $smarty.request.p=='gallery'}<img src="{$img_folder}/splash_6.png" alt="" border="0" />
{elseif $smarty.request.p=='poslrab'}<img src="{$img_folder}/splash_7.png" alt="" border="0" /> {else}<img src="{$img_folder}/splash_8.png" alt="" border="0" />
{/if}

Собственно, все очевидно. Я выделил места, где у Вас ошибки. Разберем все по порядку.
1) Вы написали условие {if $smarty.request.p=='onas'}, а URL страницы - /index.php?area=1&p=static&page=onas. Следовало написать условие {if $smarty.request.page == 'onas'}, либо URL - /index.php?area=1&p=static&p=onas. Улавливаете разницу? :)

В двух других случаях ошибка по сути такая же. Обращаю Ваше внимание, что переменная $smarty.request.p - это то же самое, что переменная PHP $_REQUEST['p'] .

2) Условие - {elseif $smarty.request.p=='idei'}<img src="{$img_folder}/splash_4.png" alt="" border="0" /> . URL - /index.php?area=1&p=static&page=idei.
Надо - либо {elseif $smarty.request.page=='idei'}<img src="{$img_folder}/splash_4.png" alt="" border="0" /> , либо URL = /index.php?area=1&p=static&p=idei

3) если в двух первых случаях стало понятно, то третий случай можно не разъяснять. :)

Короче, хотите, чтобы работало, - приведите в соответствие переменные в условиях и URL`ах.
С уважением, Товарищ Бородин
Неизвестный
29.09.2008, 07:13
общий
Спасибо уловил! Очень помогло! Я только учу пэ-ха-пи на литературу нету времени все методом тыка. Спасибо!
Форма ответа