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

Как разбить описание каталога товаров на 2 части?

Как разбить описание каталога товаров на 2 части?
#
rider85
Собственно хочу разбить описание каталога товаров на 2 части, допустим в верхней части 200 символов, а остальное внизу под товарами.
Хотелось бы кнопкой "разделитель страницы" в "описании группы товаров" отделять верхнюю часть от нижней.
Спасибо.

ПрофильЦитировать выделенное30.01.2010 11:32:14 • Сообщений: 19
Re: Как разбить описание каталога товаров на 2 части?
#
Kotoff
Примерно так:

<!--Для верхней части описания-->
      <xsl:choose>
         <xsl:when test="substring-before(description,'&lt;!-- pagebreak --&gt;') != ''">
            <xsl:value-of disable-output-escaping="yes" select="substring-before(description,'&lt;!-- pagebreak --&gt;')"/>
         </xsl:when>
         <xsl:otherwise>
            <xsl:value-of disable-output-escaping="yes" select="description"/>
         </xsl:otherwise>
      </xsl:choose>

      <!--Для нижней части описания-->
      <xsl:choose>
         <xsl:when test="substring-after(description,'&lt;!-- pagebreak --&gt;') != ''">
            <xsl:value-of disable-output-escaping="yes" select="substring-after(description,'&lt;!-- pagebreak --&gt;')"/>
         </xsl:when>
         <xsl:otherwise>
         </xsl:otherwise>
      </xsl:choose>
Заказов не беру. Консультирую редко.

ПрофильЦитировать выделенное30.01.2010 12:56:56 • Сообщений: 2363
Re: Как разбить описание каталога товаров на 2 части?
#
Varkolak
Есть еще такое решение:
<xsl:value-of disable-output-escaping="yes" select="substring(item_text, 1, 1000)"/>

но оно не совсем удобное, т.к. разбивает html символы, к примеру символ " - в html выглядит как &quot; - и если разбивается такой символ, то выглядит не красиво.
можно ли как то модифицировать, что бы не было бага с разбиением символов типа &quot;  ?
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com

ПрофильЦитировать выделенное30.01.2010 13:16:23 • Сообщений: 676
Re: Как разбить описание каталога товаров на 2 части?
#
Kotoff
Varkolak, это не баг - это правильная работа выражения. Вы попросили 1000 символов - нате вам.
Если вы хотите автоматически разбивать текст по приблизительному числу симоволов - это нужно решать на php а не на xsl.

От себя лично добавлю, что обрезка текста по какому-то числу символов, имхо, редкая гадость и моветон. Этим вы как бы говорите своим посетителям "мне тут че-то впадлу возиться с написанием коротких текстов, так что нате вам первую 1000 символов и отвяжитесь от меня". Короткие тексты, имхо, надо писать руками.

Ну или разбивать вручную через админку, как предлагает топикстартер
Заказов не беру. Консультирую редко.

ПрофильЦитировать выделенное30.01.2010 13:26:11 • Сообщений: 2363
Re: Как разбить описание каталога товаров на 2 части?
#
rider85
Не получилось, вставлял в МагазинКаталогТоваров в разделе <!-- Если в находимся в группе - выводим название группы -->

ПрофильЦитировать выделенное30.01.2010 13:50:36 • Сообщений: 19
Re: Как разбить описание каталога товаров на 2 части?
#
Kotoff
rider85, я вам показал общий пример.
Для того места, куда вы вставляете, необходимо везде в моем примере заменить
description

на
.//group[@id=$parent_group_id]/description
Заказов не беру. Консультирую редко.

ПрофильЦитировать выделенное30.01.2010 14:08:55 • Сообщений: 2363
Re: Как разбить описание каталога товаров на 2 части?
#
rider85
Спасибо большое, все заработало, правда для нижней части кода Вы забыли указать строчку:
<xsl:otherwise>
            <xsl:value-of disable-output-escaping="yes" select=".//group[@id=$parent_group_id]/description"/>
         </xsl:otherwise>

Еще пришлось покапаться в какое место нижний код вставить, но нашел довольно быстро.

ПрофильЦитировать выделенное30.01.2010 14:47:46 • Сообщений: 19
Re: Как разбить описание каталога товаров на 2 части?
#
Kotoff
Ха-ха, rider85, это я не забыл!
Это так и должно быть внизу - с пустым otherwise!

Поясняю.
Логика вывода верхней части:
Если в описании есть разделитель страницы, то выводим то что до него, а если нет разделителя - то выводим описание целиком.

Логика вывода нижней части:
Если в описании есть разделитель страницы, то выводим то что после него, а если разделителя нет - то не выводим ничего!, потому что если разделителя нету, то мы и так уже вывели полное описание вверху!

А с вашим "дополнением", получится, что если в описании не поставлен разделитель страниц, то полный текст описания будет выводиться дважды - сверху и снизу.

Так-то ©
Заказов не беру. Консультирую редко.

ПрофильЦитировать выделенное30.01.2010 14:56:35 • Сообщений: 2363
Re: Как разбить описание каталога товаров на 2 части?
#
rider85
Да действительно все так и было как Вы написали
Пока еще не въехал в этот xsl и что там к чему...

ПрофильЦитировать выделенное30.01.2010 15:08:25 • Сообщений: 19
Re: Как разбить описание каталога товаров на 2 части?
#
Varkolak
то что это не баг - это ясно, баг в том что это не удобно )
но данное решение удобно для сайтов предназначенных для заработка - для упращения работы по наполнению сайта.
Делаю сайты на HostCMS! Подробнее по почте anton.yurzanov@gmail.com

ПрофильЦитировать выделенное30.01.2010 16:54:32 • Сообщений: 676
Авторизация