Вывод подменю в отдельном месте макета сайта

#
Re: Вывод подменю в отдельном месте макета сайта
Спасибо всем за эту замечательную ветку, теперь красуется в моих закладках
iq-site
#
Re: Вывод подменю в отдельном месте макета сайта
Столкнулся с некой проблемой, делаю английскую версию сайта по адресу /en

Так вот вывод подменю здесь работает не правильно - при заходе в /en начинают выводится его дети те структура которую я создал в /en 8(

Как пофикстить?

ку
#
Re: Вывод подменю в отдельном месте макета сайта
Ах да вообще не выводит детей текущего узла.

В общем подменю в /en выводит его детей 8(
ку
#
Re: Вывод подменю в отдельном месте макета сайта
Отрезюмирую еще раз - код который мы обсуждаем в данной ветке рабочий только для детей структуры первого уровня вложенности. Как только мы появляемся во втором уровне например /new подменю  работает не так как надо.

Помогите
ку
Модератор
#
Re: Вывод подменю в отдельном месте макета сайта
compaq,
Думаю в поддержку с данными доступа и ссылкой на эту тему, представить причины не видя пациента весьма сложно.
#
Re: Вывод подменю в отдельном месте макета сайта
HostCMS спасибо, отправил в поддержку.
ку
Модератор
#
Re: Вывод подменю в отдельном месте макета сайта
compaq,
У Вас идет цикл до верхнего узла, естественно, что для узла /en/bio/ это будет /en/, а не /en/bio/

Чтобы это исключить добавили доп. условие:

   while ($structure_parent_id != 0)
   {

      if ($structure_parent_id == 128)
      {
         break;
      }


      $row_structure = $Structure->GetStructureItem($structure_parent_id);
      $structure_parent_id = $row_structure['structure_parent_id'];
   }
#
Re: Вывод подменю в отдельном месте макета сайта
HostCMS спасибо, очень помогли. =)

У меня возник последний вопрос и он тоже связан со вторым уровнем вложенности

natalya писал(а):
Пожалуйста.

DS Aleks писал(а):
когда находимся в «родителе», его название не отображается

 — а у этого «родителя» родительский раздел какой? Они в корне расположены? Если да, то вместо кода:


/* Получаем данные о текущем узле */
$structure_row = $Structure->GerStructureItem(CURRENT_STRUCTURE_ID);
$structure_parent_id = $structure_row['structure_parent_id'];

$structure_row = $Structure->GerStructureItem($structure_parent_id);

print_r($structure_row['structure_menu_name']);


используйте:

/* Получаем данные о текущем узле */
$structure_row = $Structure->GerStructureItem(CURRENT_STRUCTURE_ID);
$structure_parent_id = $structure_row['structure_parent_id'];

if($structure_parent_id != 0)
{
$structure_row = $Structure->GerStructureItem($structure_parent_id);

print_r($structure_row['structure_menu_name']);
}
else
{
print_r($structure_row['structure_menu_name']);
}



Если мы используем этот код во втором уровне вложенности то при нахождении в /en/bio родитель у o нас не /biо а /en =) А должен быть /en/bio

Вот в принципе и все что непонятно сейчас.
Спасибо
ку
#
Re: Вывод подменю в отдельном месте макета сайта
Вопрос решен.


/* Получаем данные о текущем узле */
$structure_row = $Structure->GerStructureItem(CURRENT_STRUCTURE_ID);
$structure_parent_id = $structure_row['structure_parent_id'];

if($structure_parent_id != 0 && $structure_parent_id != 128 / id структуры /en )
{
$structure_row = $Structure->GerStructureItem($structure_parent_id);

print_r($structure_row['structure_menu_name']);
}
else
{
print_r($structure_row['structure_menu_name']);
}
ку
Авторизация