а каким образом подгружаете всплывающее окно?
Использую скрипты и вёрстку для всплывающего (модального) окна из фреймворка bootstrap, в которое вставляю вызов шаблона <xsl:call-template name="object_view_modal" /> копии файла object-view.xsl (demodizzy) примерно так:
<span class="object-view-modal" data-toggle="modal" data-target="#{@id}">
<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">360</xsl:with-param>
<xsl:with-param name="height">360</xsl:with-param>
</xsl:call-template>
<img src="{$templates}images/icons/lupa.png" class="decor-lupa" />
</span>
<div class="modal fade" id="{@id}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" />
</div>
<div class="modal-body">
<xsl:call-template name="object_view_modal" />
</div>
</div>
</div>
</div>
эта да, но мне интересно было взглянуть на запрос который получает инфу со старницы и применяет данный шаблон.
вы, скорее всего, спрашиваете про вызов этого шаблона <xsl:call-template name="object_view_modal" /> , который из шаблона превью объекта каталога в файле common.xsl (demodizzy/../modules/catalog/) открывает всплывающее окно ?
Тогда вот в он полный рост:
<xsl:template match="/result[@module = 'catalog' and @method = 'object']" name="object_view_modal">
<xsl:apply-templates select="document(concat('upage://', @id,'?show-empty'))/udata" mode="modal-object-view" />
</xsl:template>
<xsl:template match="udata" mode="modal-object-view">
<xsl:variable name="cart_items" select="document('udata://emarket/cart/')/udata/items" />
<xsl:variable name="is_options">
<xsl:apply-templates select="document(concat('upage://', @id))/udata/page/properties" mode="is_options" />
</xsl:variable>
<div class="catalog">
<div class="object-card row">
<xsl:choose>
<xsl:when test=".//property[@name = 'photo']/value != ''">
<div class="image modal-view col-md-6 col-sm-5 col-xs-12">
<xsl:for-each select="./page/properties/group[@name = 'description_object']/property[@name = 'photo']">
<xsl:if test="string(.//value) != ''">
<xsl:apply-templates select="document(concat('udata://system/makeThumbnail/(.', ./value, ')/400/auto'))" mode="slider_photos_object_modal" />
</xsl:if>
</xsl:for-each>
</div>
<div class="object-infoblock modal-view col-md-6 col-sm-7 col-xs-12">
<xsl:apply-templates select=".//property[@name = 'h1']/value" mode="object_header" />
<xsl:apply-templates select=".//property[@name = 'brief_description']/value" mode="object_preview_techproperties" />
</div>
</xsl:when>
<xsl:otherwise>
<div class="object-infoblock modal-view col-md-12 col-sm-12 col-xs-12">
<xsl:apply-templates select=".//property[@name = 'h1']/value" mode="object_header" />
<xsl:apply-templates select=".//property[@name = 'brief_description']/value" mode="object_preview_techproperties" />
</div>
<div class="float10"/>
</xsl:otherwise>
</xsl:choose>
<div class="object-infoblock object-price col-md-4 col-sm-6 col-xs-12" umi:element-id="{page/@id}" umi:field-name="price" itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer">
<xsl:apply-templates select=".//property[@name = 'common_quantity']" mode="object_properties_modal" />
<xsl:apply-templates select="document(concat('udata://emarket/price/', page/@id))" />
<div class="basket-object col-md-12 col-sm-12 col-xs-12">
<div class="basket-add col-md-12 col-sm-5 col-xs-5">
<form id="add_basket_{page/@id}" class="options" action="{$lang-prefix}/emarket/basket/put/element/{page/@id}/">
<xsl:variable name="element_id" select="@id" />
<input type="submit" class="btn btn-basket-object" id="add_basket_{$document-page-id}">
<xsl:attribute name="value">
<xsl:text>&basket-add;</xsl:text>
<xsl:choose>
<xsl:when 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:when>
<xsl:otherwise>
<xsl:text> </xsl:text>
<xsl:text> (0)</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</input>
</form>
</div>
</div>
</div>
<div class="float10" />
</div>
</div>
</xsl:template>
<xsl:template match="udata[@module = 'system' and @method = 'makeThumbnail']" mode="slider_photos_object_modal">
<img src="{src}" alt="{$document-title}" class="img-responsive"/>
</xsl:template>
- вот он и "всплывает" у меня в окне. Сам же файл object-view-modal.xsl находится в той же папке, что и оригинал object-view.xsl demodizzy/../modules/catalog/
нет,я про то что всплывающее окно открывается посредсвом jquery, следственно должен быть элемент на который нажимают (скорее всего ссылка) и либо происходит ajax запрос к системе которая возвращает подробную инфомрацию о товаре
да я об этом я вкратце выше описывал в сообщении http://umihelp.ru/forum/index.php/topic,1913.msg8413.html#msg8413
Но теперь об этом подробно с полным кодом файла common.xsl, в котором содержится шаблон, выводящий превью в разделах каталога.
Происходит это так: в разделе каталога, где выводятся превью объектов каталога при наведении на фотографию одно из превью и последующее нажатие на его изображение открывается всплывающее окно с подробным описанием товара - обращаю внимание, что
именно вот эта часть ниже приведённого полного кода шаблона отвечает как ссылка на загрузку всплывающего окна:
<span class="object-view-modal" data-toggle="modal" data-target="#{@id}">
<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">360</xsl:with-param>
<xsl:with-param name="height">360</xsl:with-param>
</xsl:call-template>
</span>
<xsl:template match="page|item" mode="short-view">
<xsl:param name="cart_items" select="false()" />
<xsl:variable name="h1name" select="document(concat('upage://', @id, '.h1'))//value" />
<xsl:variable name="object" select="document(concat('upage://', @id))/udata" />
<xsl:variable name="is_options">
<xsl:apply-templates select="$object/page/properties" mode="is_options" />
</xsl:variable>
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="object" umi:region="row" umi:element-id="{@id}">
<div class="image-item">
<a href="{@link}" class="title" umi:element-id="{@id}" umi:field-name="name" umi:delete="delete" title="{$h1name}">
<span>
<xsl:value-of select="$h1name" />
</span>
</a>
<span class="object-view-modal" data-toggle="modal" data-target="#{@id}">
<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">360</xsl:with-param>
<xsl:with-param name="height">360</xsl:with-param>
</xsl:call-template>
<img src="{$templates}images/icons/lupa.png" class="decor-lupa" />
</span>
<div class="modal fade" id="{@id}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" />
</div>
<div class="modal-body">
<xsl:call-template name="object_view_modal" />
</div>
</div>
</div>
</div>
</div>
<div class="object-nuances">
<xsl:apply-templates select="$object//group[@name = 'dimensions']" mode="object_preview_techproperties" />
<xsl:apply-templates select="$object//group[@name = 'catalog_option_props']/property" mode="object_preview_techproperties" />
<xsl:apply-templates select="$object//property[@name = 'brief_description']/value" mode="object_preview_techproperties" />
</div>
<div class="buttons">
<div class="add_from_list">
<span class="price-block col-md-4 col-sm-4 col-xs-6" umi:element-id="{@id}" umi:field-name="price">
<xsl:apply-templates select="document(concat('udata://emarket/price/', @id))" mode="object_preview" />
</span>
<form id="add_basket_{@id}" class="options" action="{$lang-prefix}/emarket/basket/put/element/{page/@id}/">
<xsl:variable name="element_id" select="@id" />
<span class="basket-in">
<input class="btn btn-basket-object" id="add_basket_{@id}" type="submit" value="&basket-add;" onclick="javascript: window.location = '{@link}';" />
<img src="{$templates}images/icons/basket-icon-preview.png" />
</span>
<xsl:choose>
<xsl:when test="$cart_items and $cart_items/item[page/@id = $element_id]">
<span class="score">
<xsl:value-of select="sum($cart_items/item[page/@id = $element_id]/amount)" />
</span>
<span class="format">шт</span>
</xsl:when>
<xsl:otherwise>
<span class="score">
<xsl:text>0</xsl:text>
</span>
<span class="format">шт</span>
</xsl:otherwise>
</xsl:choose>
</form>
</div>
</div>
</div>
</div>
<xsl:if test="position() mod 4 = 0 and position() != last()">
<div class="float40" />
</xsl:if>
</xsl:template>
<xsl:template match="property[@type='wysiwyg' and value = '']" mode="object_preview_techproperties">
<span umi:field-name="{../@name}" umi:empty="&item-description;" itemprop="description" class="object-content">
<p>&process-updating;</p>
<xsl:value-of select="." disable-output-escaping="yes" />
</span>
</xsl:template>
<xsl:template match="property[@type='wysiwyg']/value" mode="object_preview_techproperties">
<span umi:field-name="{../@name}" umi:empty="&item-description;" itemprop="description">
<xsl:value-of select="." disable-output-escaping="yes" />
</span>
</xsl:template>
<xsl:template match="group[@type='relation']" mode="object_preview_techproperties">
<xsl:apply-templates select="title" mode="object_preview_techproperties"/>
<xsl:apply-templates select="value" mode="object_preview_techproperties"/>
</xsl:template>
<xsl:template match="group/title" mode="object_preview_techproperties">
<strong>
<xsl:value-of select="concat(., ':')" />
</strong>
</xsl:template>
<xsl:template match="property" mode="object_preview_techproperties">
<span class="preview-techproperty">
<xsl:value-of select="(.)" />
<span class="object-techproperty" umi:element-id="{@id}" umi:field-name="{@name}">
<xsl:value-of select="value/item/@name"/>
<xsl:if test="not(position()=last())">, </xsl:if>
<xsl:if test="(position()=last())">.</xsl:if>
</span>
</span>
</xsl:template>
<xsl:template match="property[@name = 'material']" mode="object_preview_techproperties">
<span class="preview-techproperty2">
<strong>
<xsl:value-of select="concat(., ':')" />
</strong>
<span class="object-techproperty" umi:element-id="{../../../@id}" umi:field-name="{@name}">
<xsl:value-of select="value/item/@name"/>
<xsl:if test="not(position()=last())">, </xsl:if>
<xsl:if test="(position()=last())">.</xsl:if>
</span>
</span>
</xsl:template>
<xsl:template match="properties" mode="is_options">
<xsl:value-of select="false()" />
</xsl:template>
<xsl:template match="properties[group[@name = 'catalog_option_props']/property]" mode="is_options">
<xsl:value-of select="true()" />
</xsl:template>
В итоге удалось сделать нужное - ссылка на объект в сплывающем окне через переменную выглядит
в шаблоне <xsl:call-template name="object_view_modal" /> так:
<xsl:template match="udata" mode="modal-object-view">
<xsl:variable name="object_itselflink" select="document(concat('upage://', page/@id))/udata/page/@link" />
.....
<a href="{$object_itselflink}">
<xsl:apply-templates select=".//property[@name = 'h1']/value" mode="objec_header" />
</a>
.....
</xsl:template>