{menu} выводит страниц родителя
{menu} выводит страниц родителя
Необходимо на дочерней странице выводить список других дочених страниц родителя. Есть тег {menu childrenof=$page_alias}, но как подставлять алиас автоматически?
Т.к. разделов много!
Т.к. разделов много!
Re: {menu} выводит страниц родителя
{menu start_level='2'} will show all children of the parent page even if you are on a second level child page...
Re: {menu} выводит страниц родителя
Не подходит, потому как меню может быть многоуровневым и start_level будет равен 2,3 или 4...
Re: {menu} выводит страниц родителя
Создаёте тег пользователя "get_parent_alias"Вызываете его перед
Code: Select all
global $gCms;
global $smarty;
$manager =& $gCms->GetHierarchyManager();
$var = 'parent_alias';
if( isset($params['assign']) && $params['assign'] != '' ) {
$var = $params['assign'];
}
$result = "NO RESULT";
$thisPage = $gCms->variables['content_id'];
$currentNode = &$manager->sureGetNodeById($thisPage);
$currentNode =& $currentNode->getParentNode();
$currentContent =& $currentNode->getContent();
$result = $currentContent->Alias();
$smarty->assign($var,$result);
Code: Select all
{menu childrenof=$parent_alias}
Re: {menu} выводит страниц родителя
These sources are very old school and maybe they will not work.
Old school
New style
Additionally $gCms->variables['content_id'] is an internal variable now and should not used.
It's a lot easier to use Toolbox module and use the function {tbtools::getParentAlias()}
Old school
Code: Select all
global $gCms;
global $smarty;
Code: Select all
$gCms = cmsms();
$smarty = $template->smarty;
It's a lot easier to use Toolbox module and use the function {tbtools::getParentAlias()}
Re: {menu} выводит страниц родителя
Как же меня бесят вот такие комментаторы.
Казалось бы, русская ветка форума - отвечайте по русски. Какой тогда смысл в ней, если ответы будут давать на английском! Это тоже самое как если бы я писал по русски в английской ветке или еще какой-нибудь!
Казалось бы, русская ветка форума - отвечайте по русски. Какой тогда смысл в ней, если ответы будут давать на английском! Это тоже самое как если бы я писал по русски в английской ветке или еще какой-нибудь!
Re: {menu} выводит страниц родителя
Не дает сохранить шаблон, если вставляю тег пользователя:{get_parent_alias}guro wrote:Создаёте тег пользователя "get_parent_alias"Вызываете его передCode: Select all
global $gCms; global $smarty; $manager =& $gCms->GetHierarchyManager(); $var = 'parent_alias'; if( isset($params['assign']) && $params['assign'] != '' ) { $var = $params['assign']; } $result = "NO RESULT"; $thisPage = $gCms->variables['content_id']; $currentNode = &$manager->sureGetNodeById($thisPage); $currentNode =& $currentNode->getParentNode(); $currentContent =& $currentNode->getContent(); $result = $currentContent->Alias(); $smarty->assign($var,$result);
Code: Select all
{menu childrenof=$parent_alias}
Re: {menu} выводит страниц родителя
Может индус хотел подсказать что-то важное? =)guro wrote:Как же меня бесят вот такие комментаторы.
Казалось бы, русская ветка форума - отвечайте по русски. Какой тогда смысл в ней, если ответы будут давать на английском! Это тоже самое как если бы я писал по русски в английской ветке или еще какой-нибудь!
Re: {menu} выводит страниц родителя
Да, действительно. Без if-ов отказывается работать. Вот исправленный вариантsbupravi wrote:Не дает сохранить шаблон
Code: Select all
global $smarty;
$manager = cmsms()->GetHierarchyManager();
$var = 'parent_alias';
if( isset($params['assign']) && $params['assign'] != '' ) {
$var = $params['assign'];
}
$result = "NO RESULT";
$thisPage = cmsms()->variables['content_id'];
$currentNode = $manager->sureGetNodeById($thisPage);
if ( isset($currentNode) ) {
if ( $currentNode->getLevel() > 0 ){
$currentNode =& $currentNode->getParentNode();
}
$currentContent =& $currentNode->getContent();
$result = $currentContent->Alias();
}
$smarty->assign($var,$result);
Re: {menu} выводит страниц родителя
Если ответ содержит ошибки, да .sbupravi wrote: Может индус хотел подсказать что-то важное? =)
Кстати - как вы знаете, что я индус?
Благодаря Переводчик Google я могу читать по-русски. Только иногда смешные переводы я хотел, чтобы нанести на кого.
Re: {menu} выводит страниц родителя
Ясновидящий.chandra wrote: Кстати - как вы знаете, что я индус?
Круто! Спасибо!guro wrote:Да, действительно. Без if-ов отказывается работать.