Категории |
Нужно: у залогиненного кнопка Вход менялась на ВыходДоброго времени суток ну так а чего стандартный шаб то не открыть и не посмотреть там?) Сомневаюсь уже что кто-либо ответит, но надежда есть)) {config_load file="$language/lang.conf" section="boxes"} <h2>{#heading_infobox#}</h2> <ul> {$BOX_CONTENT} </ul> Если добавить нашу конструкцию, получим: {config_load file="$language/lang.conf" section="boxes"} <h2>{#heading_infobox#}</h2> <ul> {$BOX_CONTENT} <li> {if $account}{if $smarty.session.customer_id} <a href="{$logoff}">Выход</a> {else} <a href="{$login}">Вход</a> {/if} {/if} </li> </ul> Но на выходе в html коде получим просто пустой элемент спика <li></li>. Прошерстил поиском по форуму и кешу яндекса - ноль. Прошу помощи. Связываю с темой переменных smarty в боксах - http://www.shopos.ru/forum/index.php?topic=7034.0 Пробуйте Да, спасибо, работает отчасти... на фурычат только {$login} и {$logoff} . Вполне, конечно, можно обойтись заменой на ../login.php и ../logoff.php соответственно, но интересно почему переменные не работают. Все переменные РАБОТАЮТ. В том-то и дело что не знаю где определить эти переменные для корректной работы не в index.html, а в html файлах бокса. Вот поэтому и написал на форум за помощью. themes/cleanshop/source/boxes Мы видимо не совсем понимаем друг друга, но спасибо за помощь вам. Первая конструкция реально помогла. В том-то и дело что не знаю где определить эти переменные для корректной работы не в index.html, а в html файлах бокса. Вот поэтому и написал на форум за помощью. Да и разбираюсь как устроена система постепенно. Определить эти переменные для корректной работы где-то тут: themes/cleanshop/source/boxes themes/cleanshop/boxes Мы видимо не совсем понимаем друг друга, но спасибо за помощь вам. Первая конструкция реально помогла. Вам правильно все ответили. Хотите, чтобы что-то выводилось в определенном блоке, то правите блок. Хотите, чтобы везде, то правите все, либо класс osTemplate. Чтобы {$login} и {$logoff} работали везде, нужно везде определить их. Пример тому файл \includes\header.php, именно в нем они определяются, например $osTemplate->assign('login', os_href_link(FILENAME_LOGIN, '', 'SSL')); Чтобы работало в другом месте, нужно в определенном файле, который отвечает на вывод добавить аналогичную строку, указав правильно только объект шаблонизатора, который там определен. Т.е. вместо $osTemplate может быть $module или $box. Примеры практически в любом php файле бокса. вот вот вот вот вот вот буду здесь рыть точно) клево что еще хоть два человека помогают Дайте пример того что хотите выводить и где выводить. я подскажу. Да пример простой... есть копия бокса, которая выводит главное меню. html файл бокса: {config_load file="$language/lang.conf" section="boxes"} <ul id="mainmenu"> <li class="mainpage"><a href="{$index}" title="main"></a></li> {$BOX_CONTENT} <li> {if $smarty.session.customer_id} <a href="../logoff.php">Выход</a> {else} <a href="../login.php">Вход</a> {/if} </li> </ul> изначально вместо относительных ссылок ../login(off).php были переменные {$login} и {$logoff}, которые, как правильно сказал korshunov, работали, но выводили пустые значения. На самом деле можно все оставить и как я написал, только хочется разобраться чтобы потом меньше нависать с подобными вопросами. ---------------------- Попробовал в \includes\header.php вставить следующую конструкцию по аналогии и хрен... if (isset($_SESSION['customer_id'])) { $box->assign('logoff',os_href_link(FILENAME_LOGOFF, '', 'SSL')); } $box->assign('login', os_href_link(FILENAME_LOGIN, '', 'SSL')); Так а что нужно? Чтобы в блоке выводились ссылки через {$login} и {$logoff} ? В php коде бокса добавить две строки $box->assign('login', os_href_link(FILENAME_LOGIN, '', 'SSL')); $box->assign('logoff', os_href_link(FILENAME_LOGOFF, '', 'SSL')); Да, благодарю! Надо же прям в файле бокса их объявлять....я начал в хедере и хотел потом передать боксу. |
|