Из скрипта php в шаблон

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
SLX
Forum Members
Forum Members
Posts: 26
Joined: Tue Jun 22, 2010 11:37 am

Из скрипта php в шаблон

Post by SLX »

Доброго времени суток, уважаемые!
Вот столкнулся с проблемкой:
Есть у меня меню, мне нужно вставить в один из параметров значение, которое я получаю в теге пользователя
Вот вид меню: {menu template='submenu-ul'  show_root_siblings='0' start_page={тег_пользователя}}
Но почему- то, на странице он выдает лишь "}".
Может кто что подскажет?
butcher_88
Forum Members
Forum Members
Posts: 113
Joined: Tue Jun 22, 2010 11:05 am

Re: Из скрипта php в шаблон

Post by butcher_88 »

Вероятно потому что внутри {} еще одни скобки smarty не понимает, попробуйте что-то типа:
{тег_пользователя assign="user_tag_name"}
{menu template='submenu-ul'  show_root_siblings='0' start_page="$user_tag_name"}
SLX
Forum Members
Forum Members
Posts: 26
Joined: Tue Jun 22, 2010 11:37 am

Re: Из скрипта php в шаблон

Post by SLX »

Спасибо, но не работает. В таком случае он просто печатает значение php скрипта и всё. Меню не выводится.
Вот если что сам скрипт:
$pattern = preg_replace("/\/([a-z-*]+).*/","$1",$_SERVER['REQUEST_URI']);
return $pattern;
SLX
Forum Members
Forum Members
Posts: 26
Joined: Tue Jun 22, 2010 11:37 am

Re: Из скрипта php в шаблон

Post by SLX »

Или что бы с этим не мучатся, можно ли выбрать с помощью средств ms получить алиас раздела в котором находимся в данный момент, при этом что бы, при переходе в дочерние разделы алиас бы оставался родительский.
butcher_88
Forum Members
Forum Members
Posts: 113
Joined: Tue Jun 22, 2010 11:05 am

Re: Из скрипта php в шаблон

Post by butcher_88 »

Или что бы с этим не мучатся, можно ли выбрать с помощью средств ms получить алиас раздела в котором находимся в данный момент, при этом что бы, при переходе в дочерние разделы алиас бы оставался родительский.
Думаю можно такую задачу решить в шаблоне меню. Оформление->Менеджер меню. По умолчанию там есть образцы шаблонов. Разберите их. Посмотрите там справку по доступным переменным, думаю пригодятся $node->current $node->parent.
В таком случае он просто печатает значение php скрипта и всё.
не совсем понял что выводится? Уверены что $pattern выводит нужный адрес? Если же говорить о тэге то можно изменить - так чтобы он создавал переменную смарти:

Code: Select all

global $gCms;
$smarty = &$gCms->GetSmarty();
$pattern = preg_replace("/\/([a-z-*]+).*/","$1",$_SERVER['REQUEST_URI']);
$startpage= $pattern;
$smarty->assign('startpage', $startpage);

Code: Select all

{тег_пользователя}
{menu template='submenu-ul'  show_root_siblings='0' start_page="$startpage"}
SLX
Forum Members
Forum Members
Posts: 26
Joined: Tue Jun 22, 2010 11:37 am

Re: Из скрипта php в шаблон

Post by SLX »

Спасибо огроменное!) Именно создания смарти переменной и не хватало(не знал как). Спасибо еще раз!) Всё работает)
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Из скрипта php в шаблон

Post by Fenik17 »

Это неверный подход.
Чтобы достать алиас предка уровня 0, лучше использовать такой тег:

Code: Select all

global $gCms;
$manager =& $gCms->GetHierarchyManager();
$node =& $manager->sureGetNodeByAlias( $gCms->variables['page_name'] );
while ($node->getLevel() > 0) { $node =& $node->getParentNode(); }
$content = $node->getContent();
$smarty->assign('startpage', $content->Alias());
SLX
Forum Members
Forum Members
Posts: 26
Joined: Tue Jun 22, 2010 11:37 am

Re: Из скрипта php в шаблон

Post by SLX »

А это сильно повлияет на скорость? Или на что то еще?
SLX
Forum Members
Forum Members
Posts: 26
Joined: Tue Jun 22, 2010 11:37 am

Re: Из скрипта php в шаблон

Post by SLX »

Кстати, а где можно документацию по этому делу почитать, а то везде довольно поверхностно описано?
butcher_88
Forum Members
Forum Members
Posts: 113
Joined: Tue Jun 22, 2010 11:05 am

Re: Из скрипта php в шаблон

Post by butcher_88 »

http://www.smarty.net/manual/ru/index.php - русский мануал по smarty
http://www.cmsmadesimple.org/apidoc/ - документация по CMSMS сгенерированная phpDocumentor
http://wiki.cmsmadesimple.org/index.php/Developers_FAQ - FAQ

Немного все что знаю... Дополняйте.
А это сильно повлияет на скорость? Или на что то еще?
Думаю сильно, но первый вариант очень ненадежен.
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Из скрипта php в шаблон

Post by Fenik17 »

На скорости не должно заметно отразиться. По крайней мере, для невооруженного взглядя - вызываться же будет один раз на страницу. Другое дело, что стоило бы описать конечную задачу. Возможно, есть более подходящее решение.
SLX
Forum Members
Forum Members
Posts: 26
Joined: Tue Jun 22, 2010 11:37 am

Re: Из скрипта php в шаблон

Post by SLX »

Вся задача состоит в том, что при нажатии на пункт в меню в другом меню появлялись его подпункты.
Спасибо большое за мануалы=)
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Из скрипта php в шаблон

Post by Fenik17 »

Так это (или почти это) есть в стандартных шаблонах. Можно посмотреть, как это выглядит?
SLX
Forum Members
Forum Members
Posts: 26
Joined: Tue Jun 22, 2010 11:37 am

Re: Из скрипта php в шаблон

Post by SLX »

_http://mirt.mnepomogli.ru
Кликаешь "Поликлиника" и там появится слева меню, вот его и мучаю))
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Из скрипта php в шаблон

Post by Fenik17 »

Еще полезная ссылка http://wiki.cmsmadesimple.org/index.php/Share_your_tags_here
Там даже есть тег, аналогичный приведенному мной.
Post Reply

Return to “Russian - русский”