Поиск

#
Re: Поиск
ИМХО - в результатах поиска не должны различаться товары магазина от элементов ИС и статических страниц... я как раз об этом и спрашиваю - как привести их к единообразному виду? "Выковыривать", как выразился автор темы, из соответствующей страницы скажем 100 символов до искомого слова и 100 символов после, в получившемся куске текста искомое слово выделять жирным, и ставить ссылку на страницу. По-моему, автор темы прав - не помешала бы ДОПОЛНИТЕЛЬНАЯ переменная в XML, содержащая уже эту готовую поисковую выдачу. Кому надо морочиться с разделением на товары-нетовары, тот сможет взять исходные переменные в XML. Но большинство, ИМХО, предпочли бы готовую выдачу кусочка текста - ведь так работают большинство привычных глобальных поисковиков - яндекс, гугль, etc...
http://superweb.pro/ — сайты на HostCMS под ключ
Модератор
#
Re: Поиск
У другой половины пользователей будет кардинально противоположное мнение.

plasmamedia писал(а):
ИМХО — в результатах поиска не должны различаться товары магазина от элементов ИС и статических страниц…

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

plasmamedia писал(а):
По-моему, автор темы прав — не помешала бы ДОПОЛНИТЕЛЬНАЯ переменная в XML, содержащая уже эту готовую поисковую выдачу.

Другому автору нужно будет до 25 и после 15. Будем создавать вторую, третью, двадцать пятую переменную в XML? Для этого и используется XSL.
#
Re: Поиск
HostCMS писал(а):
Проверяете источник и номер сущности

Поясните, пожалуйста, что это?
Модератор
#
Re: Поиск
посмотрите в API, там есть описание, какой код означает какой источник
#
Re: Поиск
Подскажите, в чём ошибка? Данные продавца не выводятся.

            <td width="200" align="center">
               <!-- Продавец -->
               
               <xsl:if test="saller!=0">
                  <!-- Идентификатор текущего продавца -->
                  <xsl:variable name="saller_id" select="saller"/>
                  <xsl:value-of disable-output-escaping="no" select="sallers_name"/>
                  <span style="font-size: 10pt">
                     <a href="{/shop/path}sallers/saller-{saller}/"><b>
                           <xsl:value-of select="/shop/sallers/saller[@id=$saller_id]/sallers_name"/></b>
                     </a><br />
                     <xsl:value-of select="/shop/sallers/saller[@id=$saller_id]/sallers_phone"/>
                  </span>
                  
               </xsl:if>
               
            </td>
Модератор
#
Re: Поиск
это кусок чего? покажите целиком фрагмент от template и до его закрытия.
#
Re: Поиск
шаблон для товара на базе вашего примера на первой странице темы:

   <!-- Шаблон для товара -->
   <xsl:template match="item/item" mode="shop">
      
      <table border="1" bordercolor="#fff" bgcolor="#fff" width="100%" cellpadding="0" cellspacing="0" style="padding-bottom: 0px; margin-bottom: 0px; margin-left: 0px; border-bottom: 0px solid #dadada">
         
         
         
         <tr>
            <td width="120">
               <!-- Производитель -->&#xA0;
               <span style="font-size: 10pt">
                  <xsl:value-of disable-output-escaping="yes" select="producer/name"/>
               </span>
            </td>
            <td width="150">&#xA0;
               <!-- Название товара -->
               <span style="font-size: 10pt">
                  <xsl:value-of disable-output-escaping="yes" select="name"/>
               </span>
            </td>
            
            <td align="center">
               <!-- Описание товара -->
               <span style="font-size: 10pt">
                  <xsl:value-of disable-output-escaping="yes" select="description"/>
               </span>
            </td>
            
            
            
            <td width="100" class="cat_price_label" style="padding-left: 0px" valign="middle" align="center">
               <!-- Цена товара -->
               <div style="display: inline">
                  <xsl:choose>
                     <xsl:when test="price != 0">
                        <xsl:variable name="pric" select="price"/>
                        <span style="font-size: 10pt">
                           <xsl:value-of select="format-number($pric, '###.##0', 'my')"/>&#xA0;
                           <!-- Валюта товара -->
                           <xsl:value-of disable-output-escaping="yes" select="currency"/>
                           
                        </span>
                     </xsl:when>
                     <xsl:otherwise>
                        <span style="font-size: 10pt">
                           <b>цена&#xA0;договорная</b>
                        </span>
                     </xsl:otherwise>
                  </xsl:choose>
                  <!-- Если цена со скидкой - выводим ее -->
                  <xsl:if test="price!=price_tax">
                     <br/>
                     <font color="gray">
                        <strike>
                           <xsl:variable name="pric_tax" select="price_tax"/>
                           <span style="font-size: 11pt">
                              <xsl:value-of select="format-number($pric_tax, '###.##0', 'my')"/>&#xA0;<xsl:value-of disable-output-escaping="yes" select="currency"/></span>
                        </strike>
                     </font>
                  </xsl:if>
               </div>
            </td>
            <td width="200" align="center">
               <!-- Продавец -->
               
               <xsl:if test="saller!=0">
                  <!-- Идентификатор текущего продавца -->
                  <xsl:variable name="saller_id" select="saller"/>
                  <xsl:value-of disable-output-escaping="no" select="sallers_name"/>
                  <span style="font-size: 10pt">
                     <a href="{/shop/path}sallers/saller-{saller}/"><b>
                           <xsl:value-of select="/shop/sallers/saller[@id=$saller_id]/sallers_name"/></b>
                     </a><br />
                     <xsl:value-of select="/shop/sallers/saller[@id=$saller_id]/sallers_phone"/>
                  </span>
                  
               </xsl:if>
               
            </td>
         </tr>
      </table>
   </xsl:template>

... и ещё, можно ли здесь достать группу товара?
#
Re: Поиск
Подскажите, пожалуйста, в чём всётаки дело?
Модератор
#
Re: Поиск
Aldanov,
Проверьте, есть ли в XML тег saller, что он содержит? Для товара точно указан продавец?
#
Re: Поиск
Продавец точно есть, в каталоге такая форма вывода работает.
... как посмотреть содержимое XML?
Авторизация