Вопрос по выводу описания инфоэлемента

#
Вопрос по выводу описания инфоэлемента
Всем добра!
ребят, вопрос тривиальный, но не знаю как сделать уже весь мозг поломал ((

есть инфосистема, есть элементы, выводятся на странице (динамической, не ТДС), все отлично, в XSL шаблоне выводятся название, дата и описание (description).
Вопрос вот в чем: можно ли ограничить description по объему текста, т.е., например, указать 200 символов, а все что свыше - заменять на многоточие, кнопку "еще", или тому подобное? это можно сделать средствами XSL? Ниже привожу исходники

Выводится ИС на странице вот так:
<!-- Left column -->
            <div class="layout-33-left">            
                <a href="/news/"><h5 class="footer-header-column-1">Новости</h5></a>
          <!-- Latest news -->
                <div class="bx-wrapper" style="width:316px; position:relative;">
                    <div class="bx-window" style="width:316px; height:317px; position:relative; overflow:hidden;">
                        
                        <?php
                        if (Core::moduleIsActive('informationsystem'))
                        {
                        $Informationsystem_Controller_Show = new Informationsystem_Controller_Show(
                           Core_Entity::factory('Informationsystem', 1)
                        );
                        $Informationsystem_Controller_Show
                           ->xsl(
                              Core_Entity::factory('Xsl')->getByName('Новости_Главная')
                           )
                           ->limit(3)
                           ->show();
                        }
                        ?>
                        
                    </div>
                    <a href="" class="bx-prev"></a>
                    <a href="" class="bx-next"></a>
                </div>       
            </div>


код XSL шаблона Новости_Главная:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:hostcms="http://www.hostcms.ru/"
   exclude-result-prefixes="hostcms">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <!-- СписокНовостейНаГлавной -->
   
   <xsl:template match="/">
      <xsl:apply-templates select="/informationsystem"/>
   </xsl:template>
   
   <xsl:template match="/informationsystem">
      <!-- Отображение записи информационной системы -->
      <xsl:if test="informationsystem_item">
         <ul class="no-list news-list" style="height: auto; position: relative;">
            <xsl:apply-templates select="informationsystem_item"/>
         </ul>
      </xsl:if>
   </xsl:template>
   
   <!-- Шаблон вывода информационного элемента -->
   <xsl:template match="informationsystem_item">
      <li style="list-style: none; height: 110px;">
         <!-- Дата время -->
         <div class="news-list-date">
            <xsl:value-of select="substring-before(date, '.')"/>
            <xsl:variable name="month_year" select="substring-after(date, '.')"/>
            <xsl:variable name="month" select="substring-before($month_year, '.')"/>
            <xsl:choose>
               <xsl:when test="$month = 1"> января </xsl:when>
               <xsl:when test="$month = 2"> февраля </xsl:when>
               <xsl:when test="$month = 3"> марта </xsl:when>
               <xsl:when test="$month = 4"> апреля </xsl:when>
               <xsl:when test="$month = 5"> мая </xsl:when>
               <xsl:when test="$month = 6"> июня </xsl:when>
               <xsl:when test="$month = 7"> июля </xsl:when>
               <xsl:when test="$month = 8"> августа </xsl:when>
               <xsl:when test="$month = 9"> сентября </xsl:when>
               <xsl:when test="$month = 10"> октября </xsl:when>
               <xsl:when test="$month = 11"> ноября </xsl:when>
               <xsl:otherwise> декабря </xsl:otherwise>
            </xsl:choose>
         <span><xsl:value-of select="substring-after($month_year, '.')"/><xsl:text> г.</xsl:text></span>
         </div>
         
         <div class="news-list-content">
            <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="informationsystem_item">
               <h6><xsl:value-of disable-output-escaping="yes" select="name"/></h6>
               <p><xsl:value-of disable-output-escaping="yes" select="description"/></p>
            </a>
         </div>
      </li>
   </xsl:template>
</xsl:stylesheet>


заранее спасибо!
#
Re: Вопрос по выводу описания инфоэлемента
можно
<xsl:value-of disable-output-escaping="yes" select="substring(description, 1, 290)"/>...
, но я бы не пользовался этим способом
290 - кол-во символов которые будут выводиться
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Вопрос по выводу описания инфоэлемента
alexpimnev, спасибо ))
alexpimnev писал(а):
я бы не пользовался этим способом
- а почему? понятно что такое конкретное ограничение по символам может привести к некрасивостям на сайте, но какие есть адекватные варианты?
#
Re: Вопрос по выводу описания инфоэлемента
ну он режет все символы, даже тэги, так что понимаете к чему это может привести, если конечно использовать только текст, все будет ок, но я бы лучше сам писал краткий текст или пользовался фикс высотой и overflow: hidden
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
Авторизация