Галерея

#
Галерея
Помогите с кодом, мне нужно чтобы все фото одного альбома располагались на одной странице ( а не на нескольких как это предусмотрено)
по 4 штучки в ряд,
если сможете помочь заранее благодарна
Модератор
#
Re: Галерея
Ирина,
в XSL шаблоне измените количество выводимых фото на одну страницу до 4-х, а в коде динамической страницы (раздел Структура) увеличьте число выводимх на страницу до большого значения, например 9999.
#
Re: Галерея
В структуре я могу только  изменить количество выводимых фото на одну страницу до 4-х в ряд , я не вижу где можно увеличить кол-во столбцов на одной странице...
ПОМОГИТЕ пожалуйста!!!
Модератор
#
Re: Галерея
Ирина,
покажите Ваш XSL-шаблон
#
Re: Галерея
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" encoding="Windows-1251"/>

<xsl:template match="/">
    <xsl:apply-templates select="/document/item"/>
</xsl:template>

<xsl:template match="/document/item">

<xsl:text disable-output-escaping="yes">
<![CDATA[
<SCRIPT LANGUAGE="JavaScript">
function ShowImgWindow(title, src, width, height)
{
   obj = window.open("", "", "scrollbars=0,dialog=0,minimizable=1,modal=1,width="+width+",height="+height+",resizable=0";
   obj.document.write("<html>";
   obj.document.write("<head>";

   obj.document.write("<title>"+title+"</title>";

   obj.document.write("</head>";

   obj.document.write("<body topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>";

   obj.document.write("<img src=\""+src+"\" />";

   obj.document.write("</body>";
   obj.document.write("</html>";
}
</SCRIPT>
]]>
</xsl:text>

<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="/document/information_system/parent_group_id"/>


<h1><xsl:value-of disable-output-escaping="yes" select="item_name"/></h1>

<!-- ============= -->
<!-- Путь к гурппе -->
<!-- ============= -->

<xsl:apply-templates select="//group[@id=$parent_group_id]" mode="goup_path"/>

<p/>

<!-- Изображение для записи со ссылкой на большой файл -->
<xsl:if test="item_small_image!=''">

<!-- Проверяем задан ли путь к файлу большого изображения -->
<xsl:if test="item_image!=''">
   <xsl:variable name="srcpath" select="item_image" />
   <a href="JavaScript:void(0)" onclick="ShowImgWindow('{item_name}','/{$srcpath}', {item_image/@width}, {item_image/@height})"><img src="/{item_small_image}" style="padding-right:10px; padding-bottom:10px;"/></a>
</xsl:if>

<xsl:if test="item_image =''">
   <img  src="/{item_small_image}" style="padding-right:10px; padding-bottom:10px;"/>
</xsl:if>


</xsl:if>

<p/>

<!-- Текст элемента информационного блока -->
<xsl:value-of disable-output-escaping="yes" select="item_text"/>

<p/>

<xsl:value-of disable-output-escaping="yes" select="item_datetime"/>

<p/>

<!-- Отображение комментариев  -->
<h1>Комментарии</h1>
<p/>
        <xsl:apply-templates select="item_comments/comment"/>
<p/>

<!--Отображение формы добавления комментария-->
<form action="{/document/url}" method="post">
<table border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td>ФИО:&#xA0;</td><td><input type="text" size="50" name="comment_autor" value=""/></td>
  </tr>
  <tr>
  <td>E-mail:&#xA0;</td><td><input type="text" size="50" name="comment_email" value=""/></td>
  </tr>
  <tr>
    <td>Тема:&#xA0;</td><td><input type="text" size="50" name="comment_subject" value=""/></td>
  </tr>
  <tr>
    <td>Комментарий:&#xA0;</td><td><textarea name="comment_text" cols="50" rows="10">&#xA0;</textarea></td>
  </tr>
  <tr>
     <td colspan="2" align="center"><input type="submit" name="add_comment" value="Добавить комментарий"/></td>
  </tr>
</table>
  <input type="hidden" name="information_items_id"  value="{/document/item/@id}"/>
</form>


</xsl:template>

<xsl:template match="item_comments/comment">
<hr/>
<table border="0" cellspacing="0" cellpadding="2">
<tr>
  <td>Автор:&#xA0;</td><td><a href="mailto:{comment_email}"><xsl:value-of disable-output-escaping="yes" select="comment_fio"/></a></td>
</tr>
<tr>
   <td>Тема:&#xA0;</td><td><xsl:value-of disable-output-escaping="yes" select="comment_subject"/></td>
</tr>
<tr>
   <td valign="top">Комментарий:&#xA0;</td><td><xsl:value-of disable-output-escaping="yes" select="comment_text"/></td>

</tr>
</table>
</xsl:template>

<!-- ======================================================== -->
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<!-- ======================================================== -->

<xsl:template match="group" mode="goup_path">
   <xsl:param name="parent_id" select="@parent_id"/>

   <xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>

   <xsl:if test="@parent_id=0">
      <a href="{/document/information_system/url}"><xsl:value-of disable-output-escaping="yes" select="/document/information_system/name"/></a>
   </xsl:if>

   ->

   <a href="{/document/information_system/url}{fullpath}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>

</xsl:template>


</xsl:stylesheet>


это ОтображениеПодробнойИнформацииОФотографии
#
Re: Галерея
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" encoding="Windows-1251"/>

<xsl:template match="/">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="/document">

<xsl:text disable-output-escaping="yes">
<![CDATA[
<SCRIPT LANGUAGE="JavaScript">
function ShowImgWindow(title, src, width, height)
{
   obj = window.open("", "", "scrollbars=0,dialog=0,minimizable=1,modal=1,width="+width+",height="+height+",resizable=0";
   obj.document.write("<html>";
   obj.document.write("<head>";

   obj.document.write("<title>"+title+"</title>";

   obj.document.write("</head>";

   obj.document.write("<body topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>";

   obj.document.write("<img src=\""+src+"\" />";

   obj.document.write("</body>";
   obj.document.write("</html>";
}
</SCRIPT>
]]>
</xsl:text>
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="blocks/parent_group_id"/>

<!-- Если в находимся корне - выводим название информационной системы -->
<xsl:if test="blocks/parent_group_id=0">
   <h3><xsl:value-of disable-output-escaping="yes" select="blocks/name"/></h3>
                <xsl:value-of disable-output-escaping="yes" select="blocks/description"/>
</xsl:if>
<p/>

<!--
<h1><xsl:value-of disable-output-escaping="yes" select="blocks/name"/>
<xsl:apply-templates select="blocks/groups_tree/group_node"/>
</h1>
-->

<!-- Отображение подгрупп данной группы
<table border="0" cellspacing="0" cellpadding="2" class="news_table">
<tr>
        <xsl:apply-templates select="blocks/groups/group">
           <xsl:sort select="@order"/>
        </xsl:apply-templates>
</tr>
</table>
-->
<p/>

<!-- Отображение записи информационного блока -->
<table border="0" cellspacing="0" cellpadding="2" class="news_table">
<tr>
      <xsl:apply-templates select="blocks/items/item[item_status=1]">
      </xsl:apply-templates>
</tr>
</table>

<!-- Строка ссылок на другие страницы архива информационного блока -->
<xsl:if test="ОтображатьСсылкиНаСледующиеСтраницы=1">
<xsl:if test="blocks/items/count_items > blocks/items/items_on_page">
   <xsl:call-template name="for">
     <xsl:with-param name="n" select="blocks/items/count_items div blocks/items/items_on_page"/>
     <xsl:with-param name="current_page" select="blocks/items/current_page"/>
   </xsl:call-template>
</xsl:if>
</xsl:if>

<!-- Ссылка на архив -->
<xsl:if test="ОтображатьСсылкуНаАрхив=1">
   <p/><a href="{blocks/url}">Архив "<xsl:value-of disable-output-escaping="yes" select="blocks/name"/>"</a>
</xsl:if>

</xsl:template>

<xsl:template match="blocks/groups_tree/group_node">
<xsl:if test="group_name!=''">
&#xA0;/ <a href="{../../url}{group_path}"><xsl:value-of disable-output-escaping="yes" select="group_name"/></a>
</xsl:if>
</xsl:template>


<xsl:template match="blocks/groups/group">
<td><a href="{/document/blocks/url}{group_url}"><xsl:value-of disable-output-escaping="yes" select="group_name"/></a></td>
<xsl:if test="position() mod 5=0">
<tr/>
</xsl:if>

</xsl:template>

<xsl:template match="blocks/items/item">


<td>
<center>
<xsl:if test="item_small_image!=''">

<!-- Проверяем задан ли путь к файлу большого изображения -->
<xsl:if test="item_image!=''">
   <xsl:variable name="srcpath" select="item_image" />
   <a href="JavaScript:void(0)" onclick="ShowImgWindow('{item_name}','/{$srcpath}', {item_image/@width}, {item_image/@height})"><img src="/{item_small_image}" style="padding-right:10px; padding-bottom:10px;"/></a>
</xsl:if>

<xsl:if test="item_image =''">
   <img src="/{item_small_image}" style="padding-right: 10px; padding-bottom: 10px"/>
</xsl:if>

</xsl:if>
<br/>
<a href="{item_path}"><b><xsl:value-of disable-output-escaping="yes" select="item_name"/></b></a>
<br/>
<xsl:value-of disable-output-escaping="yes" select="item_description"/>
</center>
</td>
<xsl:if test="position() mod 5 = 0">
<tr/>
</xsl:if>
</xsl:template>

<!-- Цикл для вывода строк ссылок -->
<xsl:template name="for">
   <xsl:param name="i" select="0"/>
   <xsl:param name="n"/>
   <xsl:param name="current_page"/>

   <xsl:if test="$n > $i">
      <!-- Ставим ссылку на страницу-->
      <xsl:if test="$i != $current_page">
         <a href="?page={$i}">
         <xsl:value-of select="$i+1"/>
         </a>
      </xsl:if>

      <!-- Не ставим ссылку на страницу-->
      <xsl:if test="$i = $current_page">
         <xsl:value-of select="$i+1"/>
      </xsl:if>

      &#xA0;

      <!-- Рекурсивный вызов шаблона. НЕОБХОДИМО ПЕРЕДАВАТЬ ВСЕ НЕОБХОДИМЫЕ ПАРАМЕТРЫ! -->
      <xsl:call-template name="for">
              <xsl:with-param name="i" select="$i + 1"/>
              <xsl:with-param name="n" select="$n"/>
              <xsl:with-param name="current_page" select="$current_page"/>
      </xsl:call-template>
   </xsl:if>
</xsl:template>

<!-- ======================================================== -->
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<!-- ======================================================== -->

<xsl:template match="group" mode="goup_path">
   <xsl:param name="parent_id" select="@parent_id"/>

   <xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>

   <xsl:if test="@parent_id=0">
      <a href="{/document/blocks/url}"><xsl:value-of disable-output-escaping="yes" select="/document/blocks/name"/></a>
   </xsl:if>

   ->

   <a href="{/document/blocks/url}{fullpath}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>

</xsl:template>

<!-- ======================================================== -->
<!-- Шаблон выводит ссылки подгурппы инф. элемента -->
<!-- ======================================================== -->

<xsl:template match="group" mode="goups">
   <xsl:param name="parent_id" select="@parent_id"/>

   <td valign="bottom">
      <xsl:if test="small_image!=''">
         <a href="/upload/{big_image}" target="_blank"><img src="/upload/{small_image}"/></a>&#xA0;
      </xsl:if>
      <a href="{/document/blocks/url}{fullpath}"><b><xsl:value-of disable-output-escaping="yes" select="name"/></b></a>
   </td>

</xsl:template>


</xsl:stylesheet>

это СписокКартинок
Извините я не знала какой ставить
#
Re: Галерея
Если можете подскажите как прописать, чтобы на одной странице были все фото по 4 в ряд неограниченное кол-во столбцов
Модератор
#
Re: Галерея
Ирина,
в списке картинок исправить

<xsl:if test="position() mod 5 = 0">

на

<xsl:if test="position() mod 4 = 0">
#
Re: Галерея
Спасибо за то что Вы есть , это моя мечта ваша система...
Модератор
#
Re: Галерея
Ирина,
пожалуйста. удачного использования HostCMS
Авторизация