Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

вывод нескольких товаров в боксах

вот боксы типа - новинки, последние просмотреные и т.д.

как там вывести больше 1 товара???

скажем так от 2 до 5 меня в частности интересует =)


сам спросил сам ответил  ;D правда пока решил только для бокса с недавно просмотренными товарами

значитсо так, открываем файлег /themes/ваш_шаблон/boxes/box_last_viewed.html

и пишем код

{config_load file="$language/lang.conf" section="boxes"}
<div class="infoBoxHeading" >{#heading_last_viewed#}</div>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td class="infoBox" align="left"><table width="100%"  border="0" cellpadding="2" cellspacing="0"><tr><td class="boxText">
      <table width="100%" border="0" cellspacing="0" cellpadding="3">
              {foreach name=history_products item=products_history from=$products_history}
              <tr><td align="center"><b><a href="{$products_history.PRODUCTS_LINK}">{$products_history.PRODUCTS_NAME}</a></b></td></tr>
              <tr>
              <td valign="top" align="center" class="main">{if $products_history.PRODUCTS_IMAGE!=''}<a href="{$products_history.PRODUCTS_LINK}"><img src="{$products_history.PRODUCTS_IMAGE}" alt="{$products_history.PRODUCTS_NAME}" border="0" /></a>{/if}</td>
              </tr>
              <tr>
                <td valign="bottom" align="center" class="main">
                {$products_history.PRODUCTS_PRICE}<br />
{if $products_history.PRODUCTS_VPE}{$products_history.PRODUCTS_VPE} {/if} {$products_history.PRODUCTS_TAX_INFO}{$products_history.PRODUCTS_SHIPPING_LINK}
                </td>
              </tr>
              <tr>
                <td valign="bottom" class="main" style="border-bottom: 1px solid; border-color: #cccccc;"><a href="{$products_history.PRODUCTS_CATEGORY_URL}">Category</a></td>
              </tr>
              {/foreach}
</table>
<a href="./account.php">All viewed goods</a>
</td>
  </tr>
</table>
</td>
        </tr>
    </table>


патом открываем файлег  /themes/ваш_шаблон/source/boxes/last_viewed.php
и меняемкод на этот
<?php
#####################################
# ShopOS: ?????? ????????-????????
#  Copyright (c) 2008-2009
# http://shopos.ru
# Ver. 2.3.0
#####################################

$box = new osTemplate;
$box->assign('tpl_path','themes/'.CURRENT_TEMPLATE.'/');
$box_content='';

if (isset ($_SESSION)) {
   $i = 0;
   $i2 = 5;
$max = count($_SESSION);
if ($max > $i2) { $max = $i2; }
while ($i < $max)
{

$product_history_query = osDBquery("select * from ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd where p.products_id=pd.products_id and pd.language_id='".(int) $_SESSION."' and p.products_status = '1' and p.products_id = '".$_SESSION."'");
$history_product = os_db_fetch_array($product_history_query, true);
$cpath = os_get_product_path($_SESSION);
if ($history_product != 0) {

$history_product = array_merge($history_product,array('cat_url' => os_href_link(FILENAME_DEFAULT, 'cPath='.$cpath)));
$products_history[] = $product->buildDataArray($history_product);
}
$i ++;
}
$box->assign('products_history', $products_history);
$box->assign('language', $_SESSION);


          // set cache ID
  if (!CacheCheck()) {
  $box->caching = 0;
  $box_last_viewed= $box->fetch(CURRENT_TEMPLATE.'/boxes/box_last_viewed.html');
  } else {
  $box->caching = 1;
  $box->cache_lifetime=CACHE_LIFETIME;
  $box->cache_modified_check=CACHE_CHECK;
  $cache_id = $_SESSION.$random_product.$_SESSION;
  $box_last_viewed= $box->fetch(CURRENT_TEMPLATE.'/boxes/box_last_viewed.html',$cache_id);
  }
    $osTemplate->assign('box_LAST_VIEWED',$box_last_viewed);
}
    ?>

=) радуемся жизни

есть только одна не дороботачка =) не дописал текстовые метки в языковой файл для линка на категорию в каторой товар есть и на переход в свой личный раздел

кстати максимальное кол-во отображаемых товаров указываем в последнем коде в переменной $i2

потестить можно тут http://www.sportmarket.net.ua/


Источник



Copyright ShopOS