Как вывести заголовки новостей под каждой из групп новостей?

#
Как вывести заголовки новостей под каждой из групп новостей?
Подскажите пожалуйста, как реализовать следующее:
Есть новости 3-х категорий, категории выводятся вот так:
Категория1                 Категория2              Категория3
Как изменить XSL шаблон (изменения вида вывода категорий было сделано именно там, что бы под названием категории выводились заголовки новостей, относящихся именно к этой группе, то есть вот так:
Категория1------------------Категория2-------------Категория3
новость1 кат1---------------новость1 кат2----------новость1 кат3
новость2 кат1---------------новость2 кат2----------новость2 кат3
новость3 кат1---------------новость3 кат2----------новость3 кат3
Предположим, что нужно выводить по три последних заголовка.
Буду очень признателен.
Модератор
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
Вы поиск использовали и http://www.hostcms.ru/support/faq/modules/information-systems/ смотрели? Однозначно несколько раз обсуждалось.
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
Поиск использовал ,FAQ смотрел... то, что там находил - либо не совсем то, либо не работает
Вот нашел тему: http://www.hostcms.ru/forums/17/2263/
Изменил код, как там написано:
<!-- Шаблон выводит ссылки подгруппы информационного элемента -->
   <xsl:template match="group" mode="groups">
      <li><a href="{/document/blocks/url}{fullpath}">
            <b>
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </b>
   </a>

   <xsl:variable name="group_id" select="@id"/>

   <xsl:apply-templates select="/document/blocks/items//item[@group_id=$group_id]"/>

   </li>
   </xsl:template>

Не работает
А куда добавить часть кода, отвечающего за вывод ИС - не пойму
Код шаблона для ИС
<div class="m_cont"><!--Main Content-->

<div class="left_sidebar">
<div class="ls_st">
<div class="ls_cont">
      <?php
            // Отображаем тэги ИС
            $InformationSystem = & singleton('InformationSystem');
            $InformationSystem->ShowTagsCloud(to_int($GLOBALS['LA']['InformationSystemID']), 'ОблакоТэговИнформационнойСистемы');
            ?>         
            </div>
</div>
<div class="ls_end"></div>
</div>

<div class="main_sidebar">

<div class="mc_cont">
<div class="mc_st"><div class="t1"></div><div class="t2"></div></div>

<div class="mc_co">
<div class="news-bl">

<div class="n_cont">
<?php
      // Вывод строки навигации
      
      $InformationSystem = & singleton('InformationSystem');
      
      // Определяем информацию об информационной системе, связанной с текущим узлом
      $InformationSystem_id = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);
      
      $property = array();
      
      $external_propertys = array();
      
      // Если с узлом структуры связана ИС
      if ($InformationSystem_id)
      {
         $result = $InformationSystem->GetInformationFromPath($InformationSystem_id, '', false);
      
         // определяем id информационного элемента
         if ($result['item'])
         {
            $item_id = $InformationSystem->GetIdInformationItem($result['item'], $result['group'], $InformationSystem_id);
         }
         else
         {
            $item_id = false;
         }
      
         if (is_array($result) && ($item_id != 0 || $result['group'] > 0))
         {
            // Передаем во внешние параметры ID элемента и группы
            $external_propertys['item'] = $item_id;
            $external_propertys['group'] = $result['group'];
         }
         
         $property['show_groups'] = true;
         $property['show_items'] = true;
         
         // Данные для хлебных крошек заполняем только для текущей ИС
         $property['show_information_systems'][] = $InformationSystem_id;
      }
      
      $structure = & singleton('Structure');
      $structure->ShowStructure(false, 'ХлебныеКрошки', $property, $external_propertys);
      ?>
      <?php
      $kernel->show_current_page();
      ?>
      </div>
<div class="clear"></div>
</div>

</div>


<div class="mc_end"><div class="t3"></div><div class="t4"></div>
</div>

</div>



<div class="clear"></div>
<!--Main ContentEnd--></div>
            
         

Ничего не могу понять
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
ну, вообще, кошмар какой то
Что то сделал такое, теперь не отображается вообще ИС (выскакивает ошибка 404)
Чего только не перепробовал:
удалял и снова добавлял раздел в структуре, менял XSL шаблоны ИС на дефолтные, удалял и добавлял саму ИС
Типа магия 4.04 действует что ли?
Модератор
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
Absolut писал(а):
Не работает

Естественно, пока не внесете изменения в PHP-код.
Вам в каком месте нужно выводить такой блок с новостями?
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
HostCMS писал(а):
Вам в каком месте нужно выводить такой блок с новостями?

Даже и не знаю, как ответить на этот вопрос
Я создал узел структуры "Новости"
В свойствах узла указал шаблон и в настройках типовой динамической страницы указал нужные XSL шаблоны.
Видимо, мне нужно где то в настройках типовой динамической страницы вставить этот php-код?
То есть, я не могу найти где находится вот это:

<?php
/* Вывод информационных систем */
$InformationSystem = & singleton('InformationSystem');
$external_propertys=array();
$external_propertys['ОтображатьСсылкуНаАрхив']=0;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы']=0;
/* Количество выводимых элементов */
$param['xml_show_group_type'] = 'all';
$item_count = 99;
$InformationSystemId = 8;
$InformationGroupId = false;
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId,'dcМенюКаталог',$item_count,0,$external_propertys, $param);
?>
Модератор
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
Absolut,
Вам нужно на странице новостей выводить сразу новости по группам?
Тогда копируете динамическую страницу, сохраняете с новым именем, применяете к узлу структуры, в страницу вносите изменения перед ShowInformationSystem(), а именно:

if ($GLOBALS['INFSYS_result']['group'] == 0)
{
$GLOBALS['INFSYS_result']['group'] = false;
}

$param['xml_show_group_type'] = 'all';


/* Отображаем информационную систему */
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);

+ указываете количество выбираемых элементов (например, 99) в настройках узла структуры.
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
Ага! Супер!
Всё работает.
Даже слишком... теперь выводятся заголовки новостей под названиями групп (то что и требовалось), но выводятся и все заголовки (ниже)
То есть, получилось так что выводятся и заголовки новостей по подгруппам, а потом просто все заголовки (то есть повторяется вывод) где убрать этот "бонус"?
как то всё сбивчиво я объяснил вот ссылочка http://www.kondor-auto.ru/news/
P. S. Извините за назойливость
Модератор
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
Absolut,
уберите фрагмент
<!-- Отображение записи информационной системы -->
      <xsl:apply-templates select="blocks/items/item[item_status=1]"/>
#
Re: Как вывести заголовки новостей под каждой из групп новостей?
Спасибо большое.
Теперь совсем всё хорошо
Авторизация