Настройка сайта

#
Настройка сайта
Как убрать поля добавить коментарий из всех разделов и как вывести определнный раздел фотогалереи на страницу раздела каталог, полсе описания товара.
Модератор
#
Re: Настройка сайта
Для полей добавления коменнтария необходимо в соответствующих XSL-шаблонах удалить разделы, отвечающие за отображение комментариев и формы добавления комментария. Например, в стандартном XSL-шаблоне с названием ВыводЕдиницыИнформационнойСистемы, используемом для отображения новости или статьи, для того, чтобы не отображались комментарии и форма добавления комментария необходимо удалить, ту часть, которая выделена жирным шрифтом

<?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 xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml" />
<xsl:template match="/">
    <xsl:apply-templates select="/document/item"/>
</xsl:template>

<xsl:template match="/document/item">
   
   
      <xsl:comment>
         <xsl:text disable-output-escaping="yes">
         <![CDATA[
         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+"" ) ;
         
            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>" ) ;
         }
         ]]>
         </xsl:text>
      </xsl:comment>
   
   
   <!-- Получаем 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"/>

   <!-- Фотогафия к информационному элементу -->
   <xsl:if test="item_small_image!=''">
      <!-- Проверяем задан ли путь к файлу большого изображения -->
      <xsl:if test="item_image!=''">
         <xsl:variable name="srcpath" select="item_image" />
         <a href="nojavascript...void(0)" onclick="ShowImgWindow('{item_name}','/{$srcpath}', {item_image/@width}, {item_image/@height})"><img align="left" src="/{item_small_image}" style="padding-right: 10px; padding-bottom: 10px"/></a>
      </xsl:if>
      
      <xsl:if test="item_image =''">
         <img align="left" 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>
   
   <!-- Дата информационного элемента -->
   <p><xsl:value-of disable-output-escaping="yes" select="item_date"/></p>

   <!-- Если указано отображать комментарии -->
   <xsl:if test="/document/show_comments/node() and /document/show_comments = 1">
   
      <!-- Отображение комментариев  -->
      <xsl:if test="count(item_comments/comment) > 0">
         <p class="title">Комментарии</p>
         <ul>
         <xsl:apply-templates select="item_comments/comment" />
         </ul>
      </xsl:if>
   
      <p class="title">Добавить комментарий</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"></textarea></td>
         </tr>
         <!-- Обработка CAPTCHA -->
         <xsl:if test="//captcha_key != 0">
            <tr>
            <td>Код подтверждения:</td>
            <td>
            <div style="float: left">
            <img style="border: 1px solid #777777" src="/captcha.php?get_captcha={//captcha_key}&amp;height=16" title="Код подтверждения"/>
            </div>
            
            <div style="float: left; margin-left: 10px">
            <input type="hidden" name="captcha_key" value="{//captcha_key}"/>
            <input type="text" name="captcha_keystring" size="15" />
            </div>
            </td>
            </tr>
         </xsl:if>    
         <tr>
         <td></td>
         <td><input type="submit" name="add_comment" value="Добавить комментарий"/></td>
         </tr>

         </table>
      </form>

   </xsl:if>
</xsl:template>

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

<xsl:template match="group" mode="goup_path">
   <xsl:variable 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>

   <img src="/images/arrow_path.gif" class="arrow_path"/>

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


<!-- Отображение комментариев -->
<xsl:template match="item_comments/comment">
    <li>
       <xsl:value-of disable-output-escaping="yes" select="comment_subject"/><br/>Автор:&#xA0;<a href="mailto:{comment_email}"><xsl:value-of disable-output-escaping="yes" select="comment_fio"/></a>&#xA0; · &#xA0;<b><xsl:value-of disable-output-escaping="yes" select="comment_date"/></b><br/>
       <xsl:value-of disable-output-escaping="yes" select="comment_text"/>
    </li>
</xsl:template>

</xsl:stylesheet>

Для того, чтобы вывести определенный раздел фотогалереи после описания товара, необходимо в коде динамической или типовой динамической страницы (в зависимости от того, какой механизм используется для отображения узла структуры, связанного с каталогом)
вызвать метод отображения инфосистемы ShowInformationSystem, указав в качестве идентификатора инфосистемы идентификатор фотогалереи, а в качестве идентификатора группы - идентификатор нужного раздела фотогалереи и остальные необходимые параметры.
Авторизация