Выдано 113107 лицензий

Не выводятся метки (теги) в XSL список элементов инфосистемы

Не выводятся метки (теги) в XSL список элементов инфосистемы
#
borisych
Здравствуйте!
Пытаюсь вывести метки перед списком элементов инфосистемы в XSL шаблоне (в XML метки выводятся):

<xsl:template match="/informationsystem">
    <xsl:if test="count(informationsystem_item/tag)">
         <div>
            Метка — <strong><xsl:value-of select="tag" disable-output-escaping="yes" /></strong>
            <xsl:if test="tag/description != ''">
               <p><xsl:value-of select="tag/description" disable-output-escaping="yes" /></p>
            </xsl:if>
         </div>
      </xsl:if>
</xsl:template>

<!-- /// Метки для информационного элемента /// -->
   <xsl:template match="tag">
      <a href="{/informationsystem/url}tag/{urlencode}/">
         <xsl:value-of select="name"/>
      </a>
      <xsl:if test="position() != last()">
         <xsl:text>, </xsl:text>
      </xsl:if>
   </xsl:template>

Но метки, к сожалению, не выводятся. Подскажите, в чем ошибка?

ПрофильЦитировать выделенное04.01.2018 20:34:08 • Сообщений: 159
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
Roman Fov
Вы считаете теги в /informationsystem/informationsystem_item/tag, а вывести пытаетесь из /informationsystem/tag
value-of делается для /informationsystem/tag, хотя навер нужно для /informationsystem/tag/name
Непонятно зачем тут template match="tag", если он здесь не обрабатывается нигде
Email: roman.fov@gmail.com Skype: roman-fov

ПрофильЦитировать выделенное04.01.2018 21:42:57 • Сообщений: 309
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
Roman Fov
Вам нужно облако вывести, теги из статей на странице или название тега на странице тега?
Email: roman.fov@gmail.com Skype: roman-fov

ПрофильЦитировать выделенное04.01.2018 21:44:23 • Сообщений: 309
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
borisych
Хочу вывести облако тегов для ИС. Как в макете это показать, я знаю. А вот как в XSL?

ПрофильЦитировать выделенное04.01.2018 21:56:42 • Сообщений: 159
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
Seri
borisych писал(а):
Хочу вывести облако тегов для ИС

http://www.hostcms.ru/forums/2/11803/#71247
E-mail: info@syrbek.ru / skype: activexm / www.syrbek.ru / г. Москва

ПрофильЦитировать выделенное04.01.2018 22:11:42 • Сообщений: 377
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
borisych
Seri,
borisych писал(а):
Как в макете это показать, я знаю.

Мне нужно просто перед списком инфоэлементов вывести обалко тэгов этой ИС.

ПрофильЦитировать выделенное04.01.2018 22:26:04 • Сообщений: 159
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
Seri
borisych писал(а):
Как в макете это показать, я знаю

Если знаете то выкладывайте Ваши знание что бы мы могли посмотреть. Но Вы также можете добавить Теги в контроллер ИС:
borisych писал(а):
Мне нужно просто перед списком инфоэлементов вывести обалко тэгов этой ИС.

if ($Informationsystem_Controller_Show->item == 0)
{
    $Info_tags = Core_Entity::factory('Tag');
    $Info_tags->queryBuilder()
        ->select(array('COUNT(tag_id)', 'count'), 'tags.*')
        ->join('tag_informationsystem_items', 'tag_informationsystem_items.tag_id', '=', 'tags.id')
        ->join('informationsystem_items', 'tag_informationsystem_items.informationsystem_item_id', '=', 'informationsystem_items.id')
        ->where('informationsystem_items.informationsystem_id', '=',Core_Array::get(Core_Page::instance()->libParams, 'informationsystemId'))
        ->where('informationsystem_items.deleted', '=', 0)
        ->where('tags.deleted', '=', 0)
        ->groupBy('tag_informationsystem_items.tag_id')
        ->having('count', '>', 0);

    $Info_tags = $Info_tags->findAll(FALSE);

    $oTags = Core::factory('Core_Xml_Entity')->name('info_tags');
    if (count($Info_tags)) {
        foreach ($Info_tags as $oInfo_tag) {
            $oTags->addEntity(
                $oInfo_tag->clearEntities()
            );
        }
    }
    $Informationsystem_Controller_Show->addEntity($oTags);
}

borisych писал(а):
А вот как в XSL?

Думаю вы теперь знаете.
<xsl:if test="count(info_tags) &gt; 0">
    <xsl:apply-templates select="info_tags/tag"/>
</xsl:if>
E-mail: info@syrbek.ru / skype: activexm / www.syrbek.ru / г. Москва

ПрофильЦитировать выделенное05.01.2018 09:48:48 • Сообщений: 377
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
borisych
Seri,
Так если метки у меня уже есть в XML разве их нужно добавлять в контроллер ИС?
Или я запутался полностью...

ПрофильЦитировать выделенное05.01.2018 10:19:11 • Сообщений: 159
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
borisych
Roman Fov писал(а):

Действительно, я не в том контексте выводил. Исправил на

<xsl:for-each select="informationsystem_item/tag">
   <xsl:value-of select="name" disable-output-escaping="yes"/>
</xsl:for-each>

И метки вывелись. Но только они не обрабатываются так, как если бы они были выведены отдельно в макете. Подскажите, пожалуйста, как вывести облако тегов по такой схеме
1. Название Информационной системы
2. Облако тегов
3. Список элементов информационной системы

ПрофильЦитировать выделенное11.01.2018 20:00:45 • Сообщений: 159
Re: Не выводятся метки (теги) в XSL список элементов инфосистемы
#
Seri
borisych писал(а):
Или я запутался полностью...

Наверняка. Или у вас задача настолько оригинальная.

borisych писал(а):
И метки вывелись.

У вас вывелись те метки которые были на первой странице у элементов информационной системы. Если например Тег Яблоко встречается в элементах 10 раз то вы будете печатать на экране 10 шт слово Яблоко ?

borisych писал(а):
2. Облако тегов

В моем понимании это

borisych писал(а):
3. Список элементов информационной системы

Допустим если у вас ИС имеет 100 страниц то как вывести теги из сотой страницы?
Или у вас такая и есть задумка что вывести теги только текущей страницы?
Если да то как быть с тегами которые повторяются?
E-mail: info@syrbek.ru / skype: activexm / www.syrbek.ru / г. Москва

ПрофильЦитировать выделенное11.01.2018 21:44:41 • Сообщений: 377
Авторизация