Дополнительные фото товара в каталоге

Модератор
#
Re: Дополнительные фото товара в каталоге
Salpagaroff,
поищите по
<xsl:template match="property">
#
Re: Дополнительные фото товара в каталоге
Не пойму! Всё сделал, как в этой теме написано, но картинка открывается в отдельном окне, а не лайтбоксе. Я даже добавлял rel="lightbox" к ссылке, обрамлял в <div id="gallery"> - всё равно не помагает.
#
Re: Дополнительные фото товара в каталоге
Скажите, актуален ли приводимый код для замены (как никак ему уже пара лет) для последней версии движка?
#
Re: Дополнительные фото товара в каталоге
Подскажите пожалуйста возможно ли чтобы при нажатии на дополнительные картинки они открывались не в новом окне, а в lightbox, как основная картика?
#
Re: Дополнительные фото товара в каталоге
marinok,
Возможно, для этого можно поправить код XSL-шаблона и CSS.
У меня HostCMS: 5.9.25
Чтобы отображать дполнительные картинки в lightbox после главной надо поменять код XSL-шаблона МагазинТовар  
По умолчанию lightbox приписан только к id="gallery", потому второй раз использовать блок с id="gallery" не получится.
1. Изменим код XSL
<!-- Изображение для товара, если есть -->
         <xsl:if test="small_image != ''">
            <div id="gallery"
         </xsl:if>

Новый код:
<!-- Изображение для товара, если есть -->
         <xsl:if test="small_image != ''">
            <div class="gallery"
         </xsl:if>


2. В блоке <xsl:template match="property"> сделан вывод изображений (часть кода)
...
<xsl:when test="type = 1">
                     <span class="gallery" >
                     <a href="{file_path}" title="{name}" ><img src="{small_image/file_path}"/></a></span>
                  </xsl:when>
...

Обратите внимание на контейнер <span class="gallery" ><a ...><img .../></a></span>, он нужен для добавления изображения в lightbox.

3. Изменим CSS макета
Заменим названия правил #gallery на .gallery
Заменить в CSS

#gallery { clear: both; }
#gallery ul { list-style: none; }
...

Новый код

.gallery { clear: both; }
.gallery ul { list-style: none; }
...


4. Изменим JS код инициализации Lightbox
Было
<script type="text/javascript">
   $(function() {
      $('#gallery a:has(img)').lightBox();

Новый код
<script type="text/javascript">
   $(function() {
      $('.gallery a:has(img)').lightBox();

Теперь все конструкции вида
<тег class="gallery"><a ...><img src="..." /></a></тег>

Будут включены в галерею Lightbox и вы сможете листать их стрелками.
#
Re: Дополнительные фото товара в каталоге
dreel,Спасибо
#
Re: Дополнительные фото товара в каталоге
Таже проблема нету этого кода в шаблоне
#
Re: Дополнительные фото товара в каталоге
такая же фигня, не могу найти этот код. Могу предположить, что нужно что-то изменить в районе этого кода:


         <!-- Текст товара -->
         <p>
            <xsl:value-of disable-output-escaping="yes" select="text"/>
         </p>
         
         <div style="clear: both;"></div>
         
         <xsl:if test="count(property) > 0">
            <h2>Атрибуты товара</h2>
            
            <!-- Свойства в корневой группе -->
            <xsl:if test="count(property[@dir_id = 0])">
               <table border="0">
                  <xsl:apply-templates select="property[@dir_id = 0]"/>
               </table>
            </xsl:if>
            
            <!-- Выбираем список групп свойств -->
            <xsl:apply-templates select="/shop/properties_items_dir"/>
         </xsl:if>
      </div>

///
Авторизация