UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: polo от 23 Июня 2011, 12:20:36

Название: Лайтбоксы для Фотогалереи в XSLT
Отправлено: polo от 23 Июня 2011, 12:20:36
Кто знает, или имел опыт - поделитесь плиз. Есть ли какие-то стандартные решения для организации лайтбокса для фотогалереи в XSLT?
Чтобы при нажатии на баннер со случайной фоткой из фотоальбома выплывал поверх всего лайтбокс, который можно листать вперед и назад.
Буду благодарен за любую инфу.
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 23 Июня 2011, 13:16:48
статьи ориентированные на tpl не помогли?

http://umihelp.ru/1
http://umihelp.ru/240/lightbox-and-title-attribute/
http://umihelp.ru/87/
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: talanter от 23 Июня 2011, 13:22:07
Попробуй http://fancybox.net/ (http://fancybox.net/) на jquery
Подключать так

jQuery(document).ready(function($) {
$("a[rel=gallery]").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'titlePosition' : 'over',
'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
return '<span id="fancybox-title-over">Image ' + (banner_+ currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
}
});


где индекс изображений Image ' + (banner_+ currentIndex + 1)  на пример banner_11_pic.jpg ++  можно заменить на другие.

вызов в шаблоне следующий
<a rel="gallery" href="./img/banner_11_pic.jpg" title="FancyBox отличный лайтбокс для галереи"><img alt="" src="./img/banner_11_th_pic.jpg" /></a>
ну а с шаблоном ХSLT тебе помогут другие я пасс.

Чем смог))
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: polo от 24 Июня 2011, 13:13:44
Попытался сделать тупо. Первые 3 пункта из статьи http://umihelp.ru/1/ не вызвали затруднений.
А дальше пошли отличия XSLT от TPL. Я сделал так:
1. В месте, где надо вставить ссылку на фотогаллерею:
<!-- Баннер фотогалереи -->
<div class="lightbox_gallery">
<xsl:apply-templates match="document('udata://photoalbum/album/94')/udata" mode="gallery"/>
</div>
где 94 - id созданного фотоальбома.
Дальше по задумке следует пункт 2. - шаблоны для вывода лайтбоксов - вывод ссылочек типа <a href="$img_path" rel="lightbox[group]">...</a> для условия типа match="udata[@module = 'photoalbum'][@method = 'album']".

Но я столкнулся с дурацкой проблемой на шаге 1. Почему-то его код просто выводит в див содержимое текущего документа. Ввожу в адр.строку сайт/udata/photoalbum/album/94 - все правильно, выводит xml-сожержимое альбома. А здесь - не работает.
Может, глючит модуль Фотоальбом?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 24 Июня 2011, 13:27:59
скорее всего так как у вас не задан шаблон для обработки фоток то он использует какой-то другой типа

<xsl:templates match="udata" >
....
<.xsl:templates  >

может он и выводит то что вы видите, или я не совсем точно понял в чем у вас проблема?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: polo от 24 Июня 2011, 14:29:20
Я не очень внятно объяснил. Попробую подробней.
1. В основной таблице стилей (stylesheet) есть div, в котором выводится баннер фотоальбома. При нажатии на него должен всплывать лайтбокс.
В этом диве я задаю:
<!-- Баннер фотогалереи -->
<div class="lightbox_gallery">
<xsl:apply-templates match="document('udata://photoalbum/album/94')/udata" mode="gallery"/>
</div>
2. Шаблон выглядит так:
<xsl:template match="udata[@module = 'photoalbum'][@method = 'album']" mode="gallery">
  Бла-бла-бла
</xsl:template>
По идее, должно вывестись "Бла-бла-бла". Но выводится xml-содержимое текущей страницы (без хмл-тегов конечно) типа:
КейвордсСтраницы контентаГлавнаяСтраницы контентаО насОсновные параметрыПоле H1О насКонтент<p>Собственно Контент</p>Дополнительные параметрыПоказывать подменю1

3. Ввожу в браузер http://сайт/udata/photoalbum/album/94 - выдает все как надо:
<udata module="photoalbum" method="album" generation-time="0.045104">
<id>94</id>
<items>
<item id="95" link="/album1/homyak1/" xlink:href="upage://95">Хомяк1</item>
<item id="96" link="/album1/homyak2/" xlink:href="upage://96">Хомяк2</item>
</items>
<total>2</total>
<per_page>10</per_page>
<link>/album1/</link>
</udata>

Сижу вот тупо втыкаю в монитор  и не могу понять где ошибка в четырех строках кода...  :-[

Кто-нибудь с таким сталкивался?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: polo от 26 Июня 2011, 13:33:10
Я так и знал, что проблема в какой-нибудь фигне.
После apply-templates надо ставить не match, а select!!!
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 26 Июня 2011, 14:15:48
а я все гадал, почему у меня работает, вот так всегда с xslt, надо быть внимательнее или пользоваться  komodo edit, как мне тут недавно подсказали)
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: john от 16 Октября 2011, 22:51:40
А можно по подробнее как прикрутить lightbox в шаблоне XSLT.
Я подключил, нажимаю на фото, серый экран и вижу грузится,
и должна появиться фото но ее нет.
http://ns.competentit.com.swteh.ru/portfolio/arhitekturnoe_osvewenie/

Как делал:
1. Скопировал папку lightbox в папку /js
2. В шаблоне прописал
<script type='text/javascript' src='/js/lightbox/jquery-lightbox-0.5/js/jquery.lightbox-0.5.min.js'></script>
<link rel='stylesheet' type='text/css' href='/js/lightbox/jquery-lightbox-0.5/css/jquery.lightbox-0.5.css' media='screen' />
<script type='text/javascript' src='/js/lightbox/jquery-lightbox-0.5/js/start.js'></script>
3. А дальше в шаблоне /xslttpls/modules/photoalbum/album.xsl

Прописал div код
   <xsl:template match="page" mode="photo_list">
      <div class="gray_block_gal"><div class="lightbox_gallery">
         <a href="{@link}" umi:element-id="{@id}" umi:field-name="photo">
            <xsl:call-template name="catalog-thumbnail">
               <xsl:with-param name="element-id" select="@id" />
               <xsl:with-param name="field-name">photo</xsl:with-param>
               <xsl:with-param name="empty">&empty-photo;</xsl:with-param>
               <xsl:with-param name="width">154</xsl:with-param>
               <xsl:with-param name="height">110</xsl:with-param>
            </xsl:call-template>
         </a>
         <div class="clear" />
      </div></div>
   </xsl:template>

И что еще надо сделать не пойма, подскажите.
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: NOIRMAN от 17 Октября 2011, 00:00:20

         <a href="{@link}" umi:element-id="{@id}" umi:field-name="photo">


Не пробовал еще сам lightbox подключать, но в данном случае не уверен, что надо использовать @link. Может все таки путь к картинке самой попробовать?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 17 Октября 2011, 04:24:45
по правилам, по моему, всех lighbox ссылка, в которую обвернута картинка превью, должна иметь в href путь к картинке полноразмерной, а не к странице с картинкой

в данном случае
  <a href="{@link}" umi:element-id="{@id}" umi:field-name="photo">

@link это ссылка на страницу типа "фотография", а не сама картинка, путь к картинке можно получить таким путем


<xsl:template match="page" mode="photo_list">
<xsl:variable name="src" select="document(concat('upage://',@id,'.photo'))/udata//value" />     
<div class="gray_block_gal"><div class="lightbox_gallery">
         <a href="{$src}" umi:element-id="{@id}" umi:field-name="photo">
            <xsl:call-template name="catalog-thumbnail">
               <xsl:with-param name="element-id" select="@id" />
               <xsl:with-param name="field-name">photo</xsl:with-param>
               <xsl:with-param name="empty">&empty-photo;</xsl:with-param>
               <xsl:with-param name="width">154</xsl:with-param>
               <xsl:with-param name="height">110</xsl:with-param>
            </xsl:call-template>
         </a>
         <div class="clear" />
      </div></div>
   </xsl:template>

код выше написан навскидку, могут быть неточности в синтаксисе, проверяйте
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: john от 17 Октября 2011, 08:28:05
Спасибо, все заработало.
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: Prus от 21 Февраля 2012, 13:17:54
Ребят, помогите.

Работает все, кроме ссылки на изображение (прямой путь до .jpg)
если пишу $src перестает работать сайт.

Как вывести прямой путь?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: BaceH от 21 Февраля 2012, 14:33:58
посмотрите что попадает $src, и что имеется в upage://',@id
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: Prus от 21 Февраля 2012, 18:13:12
как это смотреть? научи и моих вопросов будет еще меньше)
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: BaceH от 21 Февраля 2012, 18:54:46
 http://ваш_сайт/upage/23052  вместо 23052 ставите ид нужной вам страницы, или ее псевдоадрес
http://help-dev.umi-cms.ru/  подробно по всем протоколам.
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: Prus от 21 Февраля 2012, 19:50:20
передаетя вот это
http://beinisrael.com/upage/451

но я все равно не понимаю, как мне это может помочь?
какой макрос или запрос отвечает, за вытаскивание прямой ссылки на изображение?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 21 Февраля 2012, 21:05:18
<xsl:template match="page" mode="photo_list">
<xsl:variable name="src" select="document(concat('upage://',@id,'.photo'))/udata//value" />      
<div class="gray_block_gal"><div class="lightbox_gallery">
         <a href="{$src}" umi:element-id="{@id}" umi:field-name="photo">...

у тебя есть определение переменной перед тем как ты выводишь $src?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: Prus от 21 Февраля 2012, 22:15:02
а ок)
ошибку понял. как мне вообще вывести адрес я не понимаю. я его нашел. вот он

<udata xmlns:xlink="http://www.w3.org/TR/xlink" generation-time="0.000154">
<page id="354" parentId="353" link="/kvartiry/ierusalim/alkalaj_r/735/" is-active="1" object-id="993" type-id="63" type-guid="photoalbum-photo" update-time="1329586331" alt-name="735">
<basetype id="40" module="photoalbum" method="photo">Фотография</basetype>
<name>735</name>
<properties>
<group id="144" name="photo_props">
<title>Свойства фотографии</title>
<property id="191" name="photo" type="img_file">
<title>Фотография</title>
<value path="./images/cms/data/ierusalim/alkalaj_r/735.jpg" folder="/images/cms/data/ierusalim/alkalaj_r" name="735" ext="jpg" width="550" height="350">/images/cms/data/ierusalim/alkalaj_r/735.jpg</value>
</property>
<property id="189" name="create_time" type="date">
<title>Дата создания</title>
<value unix-timestamp="1329586331">Sat, 18 Feb 2012 21:32:11 +0400</value>
</property>
</group>
</properties>
</page>
</udata>

но как его вставить в путь ссылки я не понимаю( уже много чего пробовал( подскажите. уверен что все просто.
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: BaceH от 22 Февраля 2012, 01:14:31
<xsl:variable name="src" select="document(concat('upage://',@id,'.photo'))/udata//value" />     
<div class="gray_block_gal"><div class="lightbox_gallery">
         <a href="{$src}" umi:element-id="{@id}" umi:field-name="photo">...

... это уже было, ничего нового не придумал.
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 20 Марта 2012, 13:21:13
Здравствуйте, помогите пожалуйста разобраться в чем ошибка.
прочитала все в этой теме, постаралась сделать у себя.
У меня не фотоальбом, а 4 картинки превьюшки.
Стили и js в шапке прописала, в месте где выводятся картинки thumbnail получилось так:

<xsl:variable name="src" select="document(concat('upage://',@id,'.photo'))/udata//value" />  
          <a href="{$src}" umi:element-id="{@id}" umi:field-name="photo" rel="lightbox[slide]">         
<xsl:call-template name="catalog-thumbnail_rks">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">photo</xsl:with-param>
                        <xsl:with-param name="empty">&empty-photo;</xsl:with-param>
<xsl:with-param name="width">281</xsl:with-param>
</xsl:call-template>   
          </a>   

Litebox запускается, но изображение не открывается. Такое ощущение что его там нет.
http://marna.ru/shop/aksessuary/platki_zhenskie/platok_zhenskiy_sc0945/


Когда ссылку цепляю и ко второй фотке - вообще все зависает.
         
            
    <a href="{$src}" umi:element-id="{@id}" umi:field-name="photo" rel="lightbox[slide]">
                        <xsl:call-template name="catalog-thumbnail_rks">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">dop_photo1</xsl:with-param>
<xsl:with-param name="width">95</xsl:with-param>
    </xsl:call-template>
                     </a> 

Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 20 Марта 2012, 16:59:56
ищите ошибку в этой строчке
<xsl:variable name="src" select="document(concat('upage://',@id,'.photo'))/udata//value" />  

что вам возвращает @id, есть ли поле photo у страницы с id = @id и оно ли вам надо

так как переменная $src явно возвращает "ничего"
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 20 Марта 2012, 17:15:38
попробовала заменить select="document(concat('upage://',@id,'.photo'))/udata//value" на конструкцию вида select="//property[@name='photo']/value"

но в этом случае все зависает.
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 20 Марта 2012, 18:23:40
исправила  - теперь работает
<xsl:variable name="src" select="document(concat('upage://',page/@id,'.photo'))/udata//value" /> 

еще момент, мне нужно выводить 4 картинки, но когда я ставлю ссылки ко второй картинке, все зависает.

 
 <a href="{$src}" umi:element-id="{@id}" umi:field-name="photo" rel="lightbox[slide]">
                        <xsl:call-template name="catalog-thumbnail_rks">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">dop_photo1</xsl:with-param>
<xsl:with-param name="width">95</xsl:with-param>
    </xsl:call-template>
                     </a>
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 20 Марта 2012, 22:37:51
судя по всему зависает по тому что вы пытаетесь вывести какую-то переменную, на пример $src которая не определенна в том месте где вы её пытаетесь вывести, по тем обрывкам кода сложно сказать с чем вы работаете и что должно, а что не должно у вас выводиться
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 17:47:04
Нашла у себя ошибку в коде - поэтому зависила страница.

сейчас код такой.

<xsl:variable name="src" select="document(concat('upage://',page/@id,'.photo'))/udata//value" />

<!-- ВЫВОД ОСНОВНОЙ КАРТИНКИ-->

          <a href="{$src}" umi:element-id="{@id}" umi:field-name="photo" rel="lightbox[slide]">                                  <xsl:call-template name="catalog-thumbnail_rks">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">photo</xsl:with-param>
                        <xsl:with-param name="empty">empty-photo;</xsl:with-param>
<xsl:with-param name="width">281</xsl:with-param>
</xsl:call-template>   
          </a>   
<!-- ВЫВОД ОСНОВНОЙ КАРТИНКИ --> 


 <!-- вторая картнка -->

 
     <a href="{$src}" umi:element-id="{@id}" umi:field-name="dop_photo1" rel="lightbox[slide]">
                     <xsl:call-template name="catalog-thumbnail_rks">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">dop_photo1</xsl:with-param>
                        <xsl:with-param name="empty">empty-photo;</xsl:with-param>
<xsl:with-param name="width">95</xsl:with-param>
</xsl:call-template>   
      </a> 
                 

лайт бокс пролистывает картинки - но))) показывает одну и ту же - первую картинку,
подскажите пожалуйста в чем может быть ошибка?
http://marna.ru/shop/aksessuary/platki_zhenskie/sc0395/
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 26 Марта 2012, 18:19:20
потому что у вас каждая картинка превью обернута ссылкой в которой атрибут href везде одинаков и подставляется из $src, имено этим атрибутом руководствуется lightbox когда показывает полно размерное фото
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 18:23:50
угу а src у меня вводится перед первой картинкой.
то есть мне нужно вводить еще три разные переменные для каждой картинки? (их у меня всего четыре)
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 26 Марта 2012, 18:41:25
можно и так сделать, хотя в идеале, я бы разместил все картинки которые у вас будут с эффектом lightbox в одну группу полей и выводил бы все property из этой группы по одному шаблону в котором динамически подставляется src и превью картинки

или вы выводите картинки из фотоальбома прикрепленного к странице?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 19:10:41
нет не из фотоальбома, а вы  могли-бы мне привеси пример того, что вы описываете?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 26 Марта 2012, 19:22:38
в нужном месте делаем вывод группы с полями типа изображение

<xsl:apply-templates select=".//group[@name = 'parametry_gostinicy']" mode="lightbox" />

и пишем дополнительные шаблоны
шаблон для блока со всеми полями, там можно класс задать или еще что если надо
 
<xsl:template match="group" mode="lightbox">
          <div umi:element-id="{../../@id}">
               <xsl:apply-templates select="property" mode="lightbox" />
          </div>
     </xsl:template>

шаблон для всех полей сделаем его пустым, чтобы если в группе были поля не являющимися типом данных "изображение" они не выводились и уточняющий шаблон для поля типа изображение

<xsl:template match="property" mode="lightbox"/>
<xsl:template match="property[@type='img_file']" mode="lightbox">

<a href="{value}" umi:element-id="{$document-page-id}" umi:field-name="@name" rel="lightbox[slide]">                                 
<xsl:call-template name="catalog-thumbnail_rks">
<xsl:with-param name="element-id" select="$document-page-id" />
<xsl:with-param name="field-name"><xsl:value-of select="@name"></xsl:with-param>
        <xsl:with-param name="empty">empty-photo;</xsl:with-param>
<xsl:with-param name="width">281</xsl:with-param>
</xsl:call-template>   
</a>   

</xsl:template>

следует лишь отметить что переменная $document-page-id у вас должна быть определена (если вы делаете сайт на основе demodizzy, то она у вас есть)
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 20:08:25
попробовала ваш вариан - похоже что то-то нужно поменять - так как выдает ошибки, пока не могу понять что нужно менять.

$document-page-id у меня используется на этой же сранице для вывода кнопки - "купить".
<form class="options" action="{$lang-prefix}/emarket/basket/put/element/{page/@id}/" onsubmit="frontEndBasket.add('{page/@id}', this); return false;">
<xsl:apply-templates select=".//group[@name = 'catalog_option_props']" mode="table_options" />
<div class="buy_button">
<input type="submit" class="button big" id="add_basket_{$document-page-id}">
<xsl:attribute name="value">
<xsl:text>&basket-add;</xsl:text>
<xsl:if test="$cart_items/item[page/@id = $document-page-id]">
<xsl:text> (</xsl:text>
<xsl:value-of select="sum($cart_items/item[page/@id = $document-page-id]/amount)" />
<xsl:text>)</xsl:text>
</xsl:if>
</xsl:attribute>
</input>
</div>
</form>

на чем написано я не знаю- так как переделываю стандартный шаблон,  и еще не разобралась  с xsl
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 26 Марта 2012, 21:33:03
самая первая строчка у меня,
<xsl:apply-templates select=".//group[@name = 'parametry_gostinicy']" mode="lightbox" />

там указывается имя группы полей, которые вы выводите, вы их поменяли на название вашей группы полей? У меня эта группа называлась parametry_gostinicy
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 22:48:53
хм,у меня нет группы полей  - я в админке добавила возможность для каждого товара загружать 4 фотографии, и при выводе описания товара эти картинки отображаются в виде превью.  нужно что-бы при клике на любую из них они открывались с помощью лайт бокса  и можно было просмотеть все 4.

поэтому я вывод каждой картинки превью отдельно оборачиваю ссылкой с лайтбоксом.

и ошибка в том,что я использую оди параметр src заданный перед выводом картинок,и он один, и поэтому выводится только одна картинка.

как с группой полей организовать просмотр я что-то не поняла.
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 26 Марта 2012, 23:01:15
тут без урока не обойтись) но это уже только в среду, завтра курсы веду. Попробуйте просто вместо src для второй, третьей картинки вы сделайте еще 4 переменных или сколько там у вас их должно быть, то есть во вторую ссылку не $src вставляйте а новую переменную

<xsl:variable name="src" select="document(concat('upage://',page/@id,'.dop_photo1'))/udata//value" /> 
и так далее для всех фоток
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 23:15:10
даже не знаю, но видимо я что-то совсем не то делаю)))

наверное есть какие-то определенные переменные, нельзя наверное просто любые буквы вводить?))))

я написала src1 src2 src3 в той строчке что вы написали - поменяла названия полей - но всеравно показывает при увидичении одну и ту же картинку))
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: admin от 26 Марта 2012, 23:43:25
а в ссылки ниже вставили свои новые переменные?
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 23:45:18
Да, вот так получилось:
<!-- ВЫВОД ОСНОВНОЙ КАРТИНКИ--> 

          <a href="{$src}" umi:element-id="{@id}" umi:field-name="photo" rel="lightbox[slide]">                                  <xsl:call-template name="catalog-thumbnail_rks">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">photo</xsl:with-param>
                        <xsl:with-param name="empty">empty-photo;</xsl:with-param>
<xsl:with-param name="width">281</xsl:with-param>
</xsl:call-template>   
          </a>   
<!-- ВЫВОД ОСНОВНОЙ КАРТИНКИ --> 


 <!-- вторая картинка -->
<xsl:variable name="src1" select="document(concat('upage://',page/@id,'.photo'))/udata//value" />
 
     <a href="{$src1}" umi:element-id="{@id}" umi:field-name="dop_photo1" rel="lightbox[slide]">
                     <xsl:call-template name="catalog-thumbnail_rks">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">dop_photo1</xsl:with-param>
                        <xsl:with-param name="empty">empty-photo;</xsl:with-param>
<xsl:with-param name="width">95</xsl:with-param>
</xsl:call-template>    </a> 
                 
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 23:47:28
ура! я нашла ошибку! заработало
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: kudryashka_web от 26 Марта 2012, 23:48:43
я в этой сточке не меняла название поля с картинкой!
<xsl:variable name="src1" select="document(concat('upage://',page/@id,'.photo'))/udata//value" /> 


Спасибо вам огромное за помощь!!
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: john от 17 Сентября 2012, 02:44:46
Всем добрый вечер, подскажите где скачать lightbox который бы работал на XSLT. В данный момент ссылка на картинку открывается так. А эффекта ноль, пример скрипта.
Шаблон album.xsl
         <xsl:template match="item" mode="album_photo">   
    <xsl:variable name="src" select="document(concat('upage://',@id,'.photo'))/udata//value" /> 
<div class="lightbox_gallery">
<a href="{$src}" umi:element-id="{@id}" umi:field-name="photo">
            <xsl:call-template name="catalog-thumbnail">
                <xsl:with-param name="element-id" select="@id" />
                <xsl:with-param name="field-name">photo</xsl:with-param>
                <xsl:with-param name="empty">&empty-photo;</xsl:with-param>
                <xsl:with-param name="width">144</xsl:with-param>
                <xsl:with-param name="height">110</xsl:with-param>
            </xsl:call-template>
            </a></div>
        </xsl:template>
Шаблон /layouts/default.xsl
<script type='text/javascript' src='/js/lightbox/jquery.lightbox.js'></script>
<link rel='stylesheet' type='text/css' href='/js/lightbox/css/jquery.lightbox.css' media='screen' />
Название: Re:Лайтбоксы для Фотогалереи в XSLT
Отправлено: john от 18 Сентября 2012, 00:01:04
Заработало, Сделано вот так!
В шаблоне /xsltTpls/layouts/default.xsl
   
[b]<!-- Arquivos utilizados pelo jQuery lightBox plugin -->
    <script type="text/javascript" src="/js/jquery.js"></script>
    <script type="text/javascript" src="/js/jquery.lightbox-0.5.js"></script>
    <link rel="stylesheet" type="text/css" href="/css/jquery.lightbox-0.5.css" media="screen" />
    <!-- / fim dos arquivos utilizados pelo jQuery lightBox plugin -->
   
    <!-- Ativando o jQuery lightBox plugin -->
    <script type="text/javascript">
    $(function() {
        $('#gallery a').lightBox();
    });
    </script>[/b]

В шаблоне /xsltTpls/modules/photoalbum/album.xsl

   
<xsl:template match="udata[@module = 'photoalbum' and @method = 'album' and total]">
<div id="photoalbum"><div class="gray_block">[b]<div id="gallery">[/b]
            <xsl:apply-templates select="document(concat('udata://photoalbum/album/',@id,'///'))/udata" mode="album_photo"/>         
<div class="clear" />
</div></div></div>
<xsl:apply-templates select="total" />
</xsl:template>
….
        <xsl:template match="item" mode="album_photo">   
[b]    <xsl:variable name="src" select="document(concat('upage://',@id,'.photo'))/udata//value" /> 
<div class="lightbox_gallery">
<a href="{$src}" rel="lightbox" umi:element-id="{@id}" umi:field-name="photo">[/b]
            <xsl:call-template name="catalog-thumbnail">
                <xsl:with-param name="element-id" select="@id" />
                <xsl:with-param name="field-name">photo</xsl:with-param>
                <xsl:with-param name="empty">&empty-photo;</xsl:with-param>
                <xsl:with-param name="width">144</xsl:with-param>
                <xsl:with-param name="height">110</xsl:with-param>
            </xsl:call-template>
            </a></div>
        </xsl:template>