Несколько товаров в блоке скидки

19-03-2016    0    Доработки   143

В стандартной версии движка vamshop, в блоке скидки выводится только один товар и для того чтобы там выводились несколько товаров нужно изменить код, как именно будет написано ниже.

Причем выбираться будут также разные товары нужного количества из тех что вы добавили в скидки.

Количество выбираемых товаров указывается в
Админке → Настройки → Максимальные → Выбор случайного товара в боксе Скидки

Данная доработка делалась под версию 1.80

  1. Перед установкой сделайте бэкап изменяемых файлов!!!

                    templates/*****/source/boxes/specials.php
                    templates/*****/boxes/box_specials.html
                

    ***** - папка с Вашим шаблоном

  2. Весь код в файле templates/*****/source/boxes/specials.php

    Заменить на

                   <?php
                    /* -----------------------------------------------------------------------------------------
                       $Id: specials.php 1292 2007-02-07 12:30:44 VaM $   
                    
                       VaM Shop - open source ecommerce solution
                       http://vamshop.ru
                       http://vamshop.com
                    
                       Copyright (c) 2007 VaM Shop
                       -----------------------------------------------------------------------------------------
                       based on: 
                       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
                       (c) 2002-2003 osCommerce(specials.php,v 1.30 2003/02/10); www.oscommerce.com 
                       (c) 2003	 nextcommerce (specials.php,v 1.10 2003/08/17); www.nextcommerce.org
                       (c) 2004	 xt:Commerce (specials.php,v 1.10 2003/08/13); xt-commerce.com 
                    
                       Released under the GNU General Public License 
                       ---------------------------------------------------------------------------------------*/
                    $box = new vamTemplate;
                    $box->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
                    $box_content = '';
                    
                    //fsk18 lock
                    $fsk_lock = '';
                    if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
                    	$fsk_lock = ' and p.products_fsk18!=1';
                    }
                    if (GROUP_CHECK == 'true') {
                    	$group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
                    }
                    $spec_product_query = "select
                                                               p.products_id,
                                                               pd.products_name,
                                                               p.products_price,
                                                               p.products_tax_class_id,
                                                               p.products_image,
                                                               s.expires_date,
                                                               p.products_vpe,
                    				                           p.products_vpe_status,
                    				                           p.products_vpe_value,
                                                               s.specials_new_products_price
                                                               from ".TABLE_PRODUCTS." p,
                                                               ".TABLE_PRODUCTS_DESCRIPTION." pd,
                                                               ".TABLE_SPECIALS." s where p.products_status = '1'
                                                               and p.products_id = s.products_id
                                                               and pd.products_id = s.products_id
                                                               and pd.language_id = '".$_SESSION['languages_id']."'
                                                               and s.status = '1'
                                                               ".$group_check."
                                                               ".$fsk_lock."
                                                               order by RAND()
                                                               desc limit ".MAX_RANDOM_SELECT_SPECIALS;
                    
                    $spec_product_query = vamDBquery($spec_product_query);
                    if (vam_db_num_rows($spec_product_query, true) >= 1) {
                    	
                    	$box_content = array ();
                    	while ($spec_product = vam_db_fetch_array($spec_product_query, true)) {
                    
                    		$box_content[] = $product->buildDataArray($spec_product);
                    		$cache_id_dop .= $spec_product['products_id'];
                    	}
                    
                    	$box->assign('box_content', $box_content);
                    	$box->assign('SPECIALS_LINK', vam_href_link(FILENAME_SPECIALS));
                    	$box->assign('language', $_SESSION['language']);
                    }
                    
                    if (!CacheCheck()) {
                    	$box->caching = 0;
                    	$box_specials = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_specials.html');
                    } else {
                    	$box->caching = 1;
                    	$box->cache_lifetime = CACHE_LIFETIME;
                    	$box->cache_modified_check = CACHE_CHECK;
                    	$cache_id = $_SESSION['language'].$_SESSION['customers_status']['customers_status_name'].$cache_id_dop;
                    	$box_specials = $box->fetch(CURRENT_TEMPLATE.'/boxes/box_specials.html', $cache_id);
                    }
                    $vamTemplate->assign('box_SPECIALS', $box_specials);
                    
                    ?>
                
  3. В файле templates/*****/boxes/box_specials.html

    Это для версии 1.80 и шаблона vamshop1, если у Вас другая версия то делайте по образу и подобию в этом примере.

    Заменить код

                        {if $box_content.PRODUCTS_IMAGE}
    					

    {$box_content.PRODUCTS_NAME}

    {/if}

    {$box_content.PRODUCTS_NAME}

    {if $box_content.REVIEWS_TOTAL > 0}

    {$box_content.REVIEWS_STAR_RATING} {$smarty.const.TEXT_TOTAL_REVIEWS}: {$box_content.REVIEWS_TOTAL}

    {/if}

    {$box_content.PRODUCTS_PRICE}

    {if $box_content.PRODUCTS_VPE}

    {$box_content.PRODUCTS_VPE}

    {/if} {if $box_content.PRODUCTS_SHIPPING_LINK}

    {$box_content.PRODUCTS_TAX_INFO}{$box_content.PRODUCTS_SHIPPING_LINK}

    {/if}

    На код

                        {foreach name=aussen item=box_content from=$box_content}
        					
    {if $box_content.PRODUCTS_IMAGE}

    {$box_content.PRODUCTS_NAME}

    {/if}

    {$box_content.PRODUCTS_NAME}

    {if $box_content.REVIEWS_TOTAL > 0}

    {$box_content.REVIEWS_STAR_RATING} {$smarty.const.TEXT_TOTAL_REVIEWS}: {$box_content.REVIEWS_TOTAL}

    {/if}

    {$box_content.PRODUCTS_PRICE}

    {if $box_content.PRODUCTS_VPE}

    {$box_content.PRODUCTS_VPE}

    {/if} {if $box_content.PRODUCTS_SHIPPING_LINK}

    {$box_content.PRODUCTS_TAX_INFO}{$box_content.PRODUCTS_SHIPPING_LINK}

    {/if}
    {/foreach}

    То есть обернуть код вывода информации о товаре в

                        {foreach name=aussen item=box_content from=$box_content}
        					
    Ваш код с выводом товара
    {/foreach}
  4. Поздравляю! Все готово, можно проверять!

    п.с. Если Вы не понимаете что, как и куда нужно вносить, то можете заказать установку этой доработки мне.

    Стоимость 300 руб.

Комментарии ()



    ВВЕРХ