Контроллеры в клиентском разделе

#
Re: Контроллеры в клиентском разделе
подскажите, как определить минимальную и максимальную цену товаров в определенной группе
Модератор
#
Re: Контроллеры в клиентском разделе
h4mpy,
полагаю контроллерами Вы это не сделаете, только PHP + ORM.
#
Re: Контроллеры в клиентском разделе
Всем привет! Возник вопросик. Данный код показывает детей текущего узла но когда заходишь в них - они пропадают сами..


Спасибо

<?php
      $Structure_Controller_Show = new Structure_Controller_Show(
         Core_Entity::factory('Site', CURRENT_SITE));

      $Structure_Controller_Show->xsl(
            Core_Entity::factory('Xsl')->getByName('ПравоеМеню')
         )
         ->parentId(Core_Page::instance()->structure->id)
         ->show();
?>
изучаю hostcms 6
#
Re: Контроллеры в клиентском разделе
Все верно, в чем вопрос?
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Контроллеры в клиентском разделе
toasterec писал(а):
Все верно, в чем вопрос?


Так код выводит подразделы но когда в них зайдешь то они пропадают. А надо чтобы подменю оставалось на месте, я разве не правильно написала вопрос, попробую если что еще обьяснить если потребуется. Спасибо
изучаю hostcms 6
#
Re: Контроллеры в клиентском разделе
->parentId(Core_Page::instance()->structure->id)

собственно что делает этот кусок кода?
заставляет строить структуру, ID родителя которой, равен текущей странице!
т.е. это не класическое меню, а меню детей текущего узла.

Варианты решения
1. Указание parentId на узел из первого уровня (жестко задаем какую ветку строить)
2. Рекурсивным методом узнаем ID узла из первого уровня и подставляем его в parentId
3. Строим все меню, но в XSLT выбираем только нужные узлы, нужных уровней (не самый лучший вариант при объемном меню)




Цитата:
я разве не правильно написала вопрос

в вашем сообщении ни одного знака вопроса нет
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Контроллеры в клиентском разделе
toasterec писал(а):
Варианты решения
1. Указание parentId на узел из первого уровня (жестко задаем какую ветку строить)
2. Рекурсивным методом узнаем ID узла из первого уровня и подставляем его в parentId
3. Строим все меню, но в XSLT выбираем только нужные узлы, нужных уровней (не самый лучший вариант при объемном меню)


Вроде как-то так:


$Structure_Controller_Show = new Structure_Controller_Show(
         Core_Entity::factory('Site', CURRENT_SITE));

     $structure_parent_id = CURRENT_STRUCTURE_ID;

    while ($structure_parent_id != 0)
    {
       $oStructure = Core_Entity::factory('Structure', $structure_parent_id);
       $structure_parent_id = $oStructure->parent_id;
    }

      $Structure_Controller_Show->xsl(
            Core_Entity::factory('Xsl')->getByName('ПравоеМеню')
         )
         ->parentId($oStructure->id)
         ->show();
?>



Еще что-то нужно? В xml передать? Глубина небольшая, обычная ситуция с 3-5подменю текущей структуры.
изучаю hostcms 6
#
Re: Контроллеры в клиентском разделе
napishu писал(а):
Еще что-то нужно? В xml передать? Глубина небольшая, обычная ситуция с 3-5подменю текущей структуры.

больше ничего не нужно, в xml у вас будет параметр current_structure_id он поможет подсветить необходимые элементы
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Контроллеры в клиентском разделе
toasterec писал(а):
у вас будет параметр current_structure_id он поможет подсветить необходимые элементы


Ага, не увидела сначала. Все, спасибо
изучаю hostcms 6
#
Re: Контроллеры в клиентском разделе
Нужно реализовать страницу показа списка товаров ИМ и карточки товара. Реализую это через код динамической страницы:


<?
$Shop_Controller_Show = new Shop_Controller_Show(
    Core_Entity::factory('Shop', '4')
);

if (@$_GET["groupid"]) {
    $Shop_Controller_Show
            ->xsl(Core_Entity::factory('Xsl')->getByName('СписокТоваров'))
            ->limit(14)
            ->groupsMode("none")
            ->group($_GET["groupid"])
            ->show();
}

if (@$_GET["itemid"]) {
    $Shop_Controller_Show
            ->xsl(Core_Entity::factory('Xsl')->getByName('Товар'))
            //->groupsMode("none")
            ->item($_GET["itemid"])
            ->itemsProperties(array("item-property", "additional-large-image"))
            ->show();
}


Логика простая: если передаем groupid=xxx, то показываем группу, если itemid=xxxx, то карточку. В случае с группой, все вроде работает, а вот на карточке товара в XML нет данных о товаре, там только данные о магазине и о группе. Пытался добавлять к контроллеру метод group  с айдишником группы товара, но ничего не вышло((((
Авторизация