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

#
Re: Контроллеры в клиентском разделе
woas,
Об этом я предупреждал выше, как вы сами заметили xmlка будет очень объемная, и быстро напряжет даже дедик

Тут вариант может быть такой, формировать дерево групп отдельно, а товары выводить без групп в XML
Дерево групп можно даже закешировать, а управлять состояними из javascript
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Контроллеры в клиентском разделе
toasterec, да, вы правы, спасибо за вашу помощь, буду дальше копаться
#
Re: Re: Контроллеры в клиентском разделе
Цитата:
в коде добавления распечатайте объект комментария в одном и во втором случае и найдите разницу, она определенно будет.


Не понял о каком объекте идет речь? Там же обычный html код формы, добавляемый в xslt шаблон вывода инфосистемы
Модератор
#
Re: Контроллеры в клиентском разделе
mininzidane,
типовая, код, перед
$oComment->save();
пишите
echo $oComment;
и сравниваете внимательно результат, судя по описанию он будет отличаться.
Модератор
#
Re: Контроллеры в клиентском разделе
Показ товаров, остаток которых на кладах больше нуля.
$Shop_Controller_Show = new Shop_Controller_Show(
   Core_Entity::factory('Shop', 1)
);
$Shop_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName('МагазинКаталогТоваровНаГлавнойСпецПред')
   )
   ->groupsMode('none')
   ->group(FALSE)
   ->limit(3);

$Shop_Controller_Show
   ->shopItems()
   ->queryBuilder()
   ->leftJoin('shop_warehouse_items', 'shop_warehouse_items.shop_item_id', '=', 'shop_items.id')
   ->having('SUM(shop_warehouse_items.count)', '>', 0)
   ->groupBy('shop_items.id')
;

$Shop_Controller_Show->show();
Модератор
#
Re: Контроллеры в клиентском разделе
Показ подузлов родительского узла лежащего в корне
<?php
// Верхнее меню
$Structure_Controller_Show = new Structure_Controller_Show(
      Core_Entity::factory('Site', CURRENT_SITE));

$oStructure = Core_Page::instance()->structure;
while ($oStructure->parent_id != 0)
{
   $oStructure = $oStructure->getParent();
}
      
$Structure_Controller_Show->xsl(Core_Entity::factory('Xsl')
      ->getByName('ПравоеМеню'))
      ->menu('3')
      ->parentId($oStructure->id)
      ->show();
?>
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Модератор
#
Re: Контроллеры в клиентском разделе
Ограничение уровня вложенности при генерации дерева групп в режиме 'all', используется отдельный класс, унаследованный от типового контроллера. Решения с контроллерами очень гибкие.
<?php
if (Core::moduleIsActive('shop'))
{
   /**
    * Ограничение уровня вложенности групп в режиме генерации 'all'
    */
   class My_Shop_Controller_Show extends Shop_Controller_Show
   {
      protected $_level = NULL;

      protected $_currentLevel = 0;

      public function level($level)
      {
         $this->_level = $level;
         $this->addCacheSignature('level=' . $this->_level);
         return $this;
      }

      public function show()
      {
         $this->_currentLevel = 0;
         return parent::show();
      }

      protected function _addGroupsByParentId($parent_id, $parentObject)
      {
         $this->_currentLevel++;

         if ($this->_currentLevel <= $this->_level)
         {
            parent::_addGroupsByParentId($parent_id, $parentObject);
         }

         $this->_currentLevel--;

         return $this;
      }
   }

   $Shop_Controller_Show = new My_Shop_Controller_Show(
      Core_Entity::factory('Shop', 1)
   );
   $Shop_Controller_Show
      ->xsl(
         Core_Entity::factory('Xsl')->getByName('МагазинКаталогТоваров')
      )
      ->groupsMode('all')
      ->level(2)
      ->group(FALSE)
      ->limit(0)
      ->show();
}
?>
#
Re: Контроллеры в клиентском разделе
Как изменить значение items_on_page (или itemsOnPage)?
раньше было что-то вроде
$param['items_on_page'] = $on_page;


Интересует синтаксис.

Динамически меняю количество выводимых на странице элементов.
limit() отвечает только за непосредственный вывод.
Но страницы рассчитываются исходя из itemsOnPage.
Т.е. не зависимо от значения limit(), если itemsOnPage = 10, то пятая страница будет начинаться с 51-го элемента. Даже если limit(100) и теоретически на пятой странице должен быть 501й элемент.
Что мне кажется не очень логичным. Наверное, они должны быть взаимосвязанными.
Модератор
#
Re: Контроллеры в клиентском разделе
я не совсем понимаю Ваш вопрос. limit указывает количество на страницу, offset - смещение (не путать с page) и определяется он в методе parseUrl().
#
Re: Контроллеры в клиентском разделе
HostCMS писал(а):
второе сообщение сверху http://www.hostcms.ru/forums/2/7122/page-5/
if (is_object(Core_Page::instance()->object)
&& get_class(Core_Page::instance()->object) == 'Informationsystem_Controller_Show'
{
   echo htmlspecialchars(Core_Entity::factory('Informationsystem_Item', intval(Core_Page::instance()->object->item))->name);
  
}


А как сюда добавить elseif(группа) — выводим название группы, elseif(корень ИС) — выводим название ИС?
http://superweb.pro/ — сайты на HostCMS под ключ
Авторизация