Страница производителя

#
Страница производителя
Добрый день!

Как сделать так, чтобы посетитель зайдя в интернет-магазин мог нажать на Производителя и попасть на страницу с описанием и логотипом, т.е. Карточку производителя. В системе администрирования такие данным вписать можно, а в стандартном варианте магазина для посетителей такая возможность отсутствует.
Модератор
#
Re: Страница производителя
посмотрите, пожалуйста, поиск, вопрос уже обсуждался: http://www.hostcms.ru/search/?text=%CF%F0%EE%E8%E7%E2%EE%E4%E8%F2%E5%EB%FC&x=0&y=0
#
Re: Страница производителя
Можно сделать фильтр, можно сделать список производителей, но страничку производителя вывести мне не удалось, только так:
http://www.aiventa.ru/shop/producers/
http://www.aiventa.ru
Модератор
#
Re: Страница производителя
hell0men,
что Вы делали, чтобы вывести страничку производителя? Информацию из какой темы использовали?
#
Re: Страница производителя
Вот и я не нашел полезной мне информации в поиске, которая позволила бы мне создать страницы с информацией о производителе.

Что для этого нужно, помогите, пожалуйста.
Модератор
#
Re: Страница производителя
Создаем типовую, даем ей название, вносим настройки:
<?php
$shop = & singleton('shop');

$end_array_item = end($GLOBALS['URL_ARRAY']);

$page = to_str($end_array_item);

$result = $shop->GetPathProducer($page);

if (to_int($result['shop_producers_list_id']) > 0)
{
   $GLOBALS['producer_id'] = to_int($result['shop_producers_list_id']);
  
   $saller_row = $shop->GetProducer($GLOBALS['producer_id']);

   $kernel = & singleton('kernel');

      $seo_title = $saller_row['shop_producers_list_name'];
      $seo_description = $saller_row['shop_producers_list_name'];
      $seo_keywords = $saller_row['shop_producers_list_name'];

      // Title для производителя задан
      if (!empty($saller_row['shop_producers_list_seo_title']))
      {
         $seo_title = $saller_row['shop_producers_list_seo_title'];
      }

      // Описание для производителя задано
      if (!empty($saller_row['shop_producers_list_seo_description']))
      {
         $seo_description = $saller_row['shop_producers_list_seo_description'];
      }
      
      // Ключевые слова для производителя заданы
      if (!empty($saller_row['shop_producers_list_seo_keywords']))
      {
         $seo_keywords = $saller_row['shop_producers_list_seo_keywords'];
      }

      $kernel->set_title($seo_title);
      $kernel->set_description($seo_description);
      $kernel->set_keywords($seo_keywords);
}
else
{
      $GLOBALS['producer_id'] = 0;
}
?>


Код типовой:
<?php
$shop = & singleton('shop');

if (to_int($GLOBALS['producer_id']))
{
$xsl_name = to_str($GLOBALS['LA']['xsl_name']);
$shop->ShowProducer($GLOBALS['producer_id'], $xsl_name);
}
else
{
$xsl_name = to_str($GLOBALS['LA']['xsl_list_name']);
$param = array();
$param['shop_id'] = to_int($GLOBALS['LA']['shop_id']);
$shop->ShowProducersList($xsl_name, $param);
}
?>


В типовой создаете два параметра типа "XSL-шаблон":

  1. Название параметра "XSL вывода производителя", Название переменной "xsl_name"
  2. Название параметра "XSL вывода списка производителей", Название переменной "xsl_list_name"


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="/producer">
         <h1><xsl:value-of disable-output-escaping="no" select="name"/></h1>
         <xsl:if test="image != ''">
            <img src="/upload/shop_1/producers/{image}" vspace="5" border="0"/>
         </xsl:if>

         <xsl:if test="description != ''">
            <p><xsl:value-of disable-output-escaping="yes" select="description"/></p>
         </xsl:if>

         <p><a href="/shop/?producer_id={@id}">Все товары <xsl:value-of disable-output-escaping="no" select="name"/></a></p>
   </xsl:template>
</xsl:stylesheet>


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="/">
      <h1>Список брендов</h1>
      <xsl:if test="error=1">
         <div id="error">
            <b>Бренды не найдены</b>
         </div>
      </xsl:if>

      <table cellspacing="0" cellpadding="0" border="0" width="100%" class="brand_table">
         <tr>
            <xsl:apply-templates select="producerslist/producer"/>
         </tr>
      </table>
      
      
   </xsl:template>
   
   <xsl:template match="producer">
      <td width="25%" align="center" valign="top">
         <div>
            
            <table width="170">
               <tr>
                  <td align="center">
                     <a href="/brends/{shop_producers_list_path}/"><img src="/upload/shop_1/producers/{image}"/></a>
                  </td>
               </tr>
               <tr>
                  <td align="center">
                     <a href="/brends/{shop_producers_list_path}/"><xsl:value-of disable-output-escaping="no" select="name"/></a>
                  </td>
               </tr>   
               <tr>
                  <td align="center">
                     <p></p>
                  </td>
               </tr>            
            </table>
         </div>
      </td>
      
      <xsl:if test="position() mod 4 = 0">
         <xsl:text disable-output-escaping="yes">
            &lt;/tr&gt;
            &lt;tr valign="top"&gt;
         </xsl:text>
      </xsl:if>
      
   </xsl:template>
</xsl:stylesheet>


Ссылка в XSL "МагазинТовар":
            <xsl:if test="producer/name != ''">
         <p>Производитель: <a href="{/shop/path}producers/{producer/path}/"><b><xsl:value-of disable-output-escaping="yes" select="producer/name"/></b></a></p>
            </xsl:if>
#
Re: Страница производителя
Добрый вечер!

Спасибо Вам за помощь . Все отлично работает.
Модератор
#
Re: Страница производителя
Пожалуйста.
#
Re: Страница производителя
а про первоначальный вопрос забыли.?

Складывается ощущениеHostCMS писал(а):
Информацию из какой темы использовали?

Тема то есть (http://www.hostcms.ru/forums/17/3306/) а вот информации в ней нет!

Там модераторы тоже на поиск сослались а потом очень грамотно перевели русло решения проблемы (точнее отмолчались). А вопрос, который интересует не только Вас им не интересен.

ИМХО (для модераторов) Я понимаю какой-то вопрос из решений не относящихся напрямую к системе, или не требующий внимания разработчиков, Но этот вопрос думаю из разряда "...Сказал А говори и Б...". Раз есть где заполнять - значит должно и выводиться...
Но это только ИМХО, у модераторов на любое ИМХО есть своё ИМХО...
#
Re: Страница производителя
kvasiliy, обсуждение возникшей у вас проблемы ведется в теме http://www.hostcms.ru/forums/17/3306/. Пример кодов реализации размещён в этой.
kvasiliy писал(а):
а вот информации в ней нет!
- какая нужна информация? Повторюсь, что примеры кодов реализации даны в ЭТОЙ теме, а не в той. Тема http://www.hostcms.ru/forums/17/3306/ не является закрытой, вы задаете там вопросы, на них даются ответы.
kvasiliy писал(а):
вопрос, который интересует не только Вас им не интересен
- претензия безосновательна. Коды реализации функционала предоставлены. По какой-то причине у вас они не работают. Выяснение причины ведется в указанной теме. Что еще не так?
Авторизация