Новинки магазина

Модератор
#
Re: Новинки магазина
ferdinant,
на первый взгляд вызов есть, присылайте в поддержку доступ в ЦА и ссылку на тему, будем проверять.
#
Re: Новинки магазина
Добрый день!
На главной выводятся новинки магазина (доп.свойство тип-флажок) из каждой группы отдельно. Не получается вывести новинки из группы, если в ней товаров нет, они находятся в подгруппах.
при $param['current_group_id'] = 230; ничего не выводится, при $param['xml_show_group_type'] = '230'; выводятся товары из всех групп магазина.
Помогите решить вопрос!
Модератор
#
Re: Новинки магазина
T2008,
1. получить подгруппы методами системы.
2. Записать в массив $param['current_group_id'] идентификатор родительской группы и подгрупп.
#
Re: Новинки магазина
Код вызова новинок

<?php
$shop_structure_id = 2;

$Shop = &singleton('shop');

$element['type'] = 1;
$element['property_id'] = 140;
$element['prefix'] = ' AND ';
$element['if'] = '=';
$element['value'] = '1';
$element['sufix'] = '';
$param['select'][] = $element;

$param['current_group_id'] = '230';
$param['items_begin'] = 0;
$param['items_on_page'] = 4;

$Shop->ShowShop(2, 'ОбъектыНаГлавнойНовинки', $param);
?>

прочитала API и форум, но к сожалению не разобралась, легче товары в группу перенести.....
#
Re: Новинки магазина
Код для формирования списка новинок (последних добавлений):

<?php
               $shop = & singleton('shop');
               $param = array();
               $param['current_group_id'] = false;
               $param['items_on_page'] = 3;
               $param['items_field_order'] = 'shop_items_catalog_date_time';
               $param['items_order'] = 'Desc';
               $param['items_begin'] = 0;
               $shop->ShowShop(5, 'МагазинКаталогНовинокСайт15', $param);
            ?>
С Уважением.
#
Re: Новинки магазина
Здравствуйте, переверстал макет сайта под свой, и почему то у меня вообще не выводится интернет-магазин, подскажите его код? в базу все заносится...
kristina
#
Re: Новинки магазина
Подскажите , что не так ?Раньше новинки выводились сейчас не хотят!
<h1>Новинки</h1>
<div class="catalog-list">
<?
Core_Event::attach('shop_item.onBeforeGetXml', array('Shop_Item_Observer', 'onBeforeGetXml'));

class Shop_Item_Observer
{
static public function onBeforeGetXml($object, $args)
{
$object->addEntity(Core::factory('Core_Xml_Entity')
->name('group_name')
->value($object->Shop_Group->name)
);
$object->addEntity(Core::factory('Core_Xml_Entity')
->name('subgroups_count')
->value($object->Shop_Group->subgroups_total_count)
);
$object->addEntity(Core::factory('Core_Xml_Entity')
->name('subgroup_name')
->value($object->Shop_Group->Shop_Group->name)
);
}
}

$Shop_Controller_Show = new Shop_Controller_Show(Core_Entity::factory('Shop', 4));

$Shop_Controller_Show
->xsl(Core_Entity::factory('Xsl')->getByName('МагазинТоварыНаГлавнойBravoM'))
->cache(FALSE)
->groupsMode('none')
->group(FALSE)
->itemsPropertiesList(FALSE)
->itemsProperties(array('43'))
->itemsForbiddenTags(array('shortcut_id','shop_tax_id','shop_seller_id','shop_producer_id','shop_measure_id','vendorcode','description','weight','seo_title','seo_description','seo_keywords','image_small_height','image_small_width','image_large_height','image_large_width','yandex_market','yandex_market_bid','yandex_market_cid','yandex_market_sales_notes','guid'))
->tags(FALSE)
->limit(30);

$Shop_Controller_Show
->shopItems()
->queryBuilder()
->where('shop_items.modification_id', '=', 0)
->Join('shop_groups', 'shop_groups.id', '=', 'shop_items.shop_group_id')
->where('shop_groups.parent_id', 'IN', Core_QueryBuilder::select('shop_groups.id')->from('shop_groups')->where('shop_groups.items_count', '=', 0))
->clearOrderBy()
->orderBy('datetime', 'Desc');

$Shop_Controller_Show
->show();
?>
</div>


xml-шаблон;
<?xml version="1.0" encoding="utf-8"?>
<!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="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <!-- МагазинКаталогТоваровНаГлавнойСпецПред -->
   <xsl:template match="/">
      <xsl:apply-templates select="/shop"/>
   </xsl:template>
   
   <!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <!-- Есть товары -->
      <xsl:if test="item">
         <h2>Горячие предложения</h2>
         <!-- Выводим товары магазина -->
         <xsl:apply-templates select="item"/>
      </xsl:if>
   </xsl:template>
   
   <!-- Шаблон для товара -->
   <xsl:template match="item">
      <div class="shop_item">
         <div class="left" style="text-align: center; position: relative;">
            <!-- Указана малое изображение -->
            <xsl:if test="small_image != ''">
               <a href="{/shop/path}{fullpath}{path}/">
                  <img src="{small_image}" alt="{name}" title="{name}"/>
               </a>
               <div class="hit" style="margin: {small_image/@height - 35}px 0 0 90px;"></div>
            </xsl:if>
            
            <!-- Ссылка на товар -->
            <p>
               <a href="{/shop/path}{fullpath}{path}/" title="{name}">
                  <xsl:value-of disable-output-escaping="yes" select="name"/>
               </a>
            </p>
            
            <p>
               <!-- Цена -->
               <b>
                  <xsl:value-of disable-output-escaping="yes" select="price_discount"/>&#xA0;<xsl:value-of disable-output-escaping="yes" select="currency"/>&#xA0;
               </b>
               
               <!-- Ссылку на добавление в корзины выводим, если:
               type = 0 - простой тип товара
               type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
               что означает неограниченное количество -->
               <xsl:if test="type = 0 or (type = 1 and (eitem_count > 0 or eitem_count = -1))">
                  <a href="{/shop/path}cart/?action=add&amp;item_id={@id}" onclick="return AddIntoCart('{/shop/path}', {@id}, 1)">
                     <img alt="В корзину" title="В корзину" src="/hostcmsfiles/images/cart.gif"/>
                  </a>
               </xsl:if>
            </p>
         </div>
      </div>
      
      <xsl:if test="position() mod 2 = 0 and position() != last()">
         <div class="clearing"></div>
      </xsl:if>
   </xsl:template>
</xsl:stylesheet>
Модератор
#
Re: Новинки магазина
koldaeva,

Ну так да. Вызов от 6й версии системы и XML соответственно от 6й, а XSL-шаблон - от 5ки. В Вашем XML попросту не существует item.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Новинки магазина
alexander.egorov писал(а):

И что сделать? Заново код написать?
Модератор
#
Re: Новинки магазина
koldaeva,
используйте шаблон от соответствующей версии системы.
Авторизация