Список товаров построчно + артикул

Тема в разделе "ABO CMS", создана пользователем Vell61, 9 апр 2010.

Статус темы:
Закрыта.
  1. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    1) Подскажите изменил шаблон списка товаров под себя т.е. чтоб было вида: |КОД|НАИМЕНОВАНИЕ|НАЛИЧИЕ|ЦЕНА|ЗАКАЗ|

    вот код:

    HTML:
    <!-- START BLOCK : block_product_row --> 
    <table class="tbl" width="100%">
    <tr>
    <th>Сравнить</th> 
    <th width="50%">Наименование</th>
    <th>Наличие</th>
    <th>Цена</th>
    <th>Заказ</th>
    </tr>
    
    <tr>
    <td align="center">
    <!-- START BLOCK : block_compare_elements -->
    <!-- <input type="checkbox" name="compare[]" value="{prod_id}" id="{prod_id}">&nbsp;<a href="#" onclick="if(checkForm(document.getElementById('frmCompareProd')) == true) { document.getElementById('frmCompareProd').submit(); } return false;">сравнить</a><br> -->
    <div class="compare" id="compare_prd{prod_id}">
    <!--input type="checkbox" name="compare[]" value="{prod_id}" title="Выбрать для сравнения">&nbsp;-->
    <a href="" onclick="return addPrdForCompare({prod_id});" title="Добавить для сравнения">[+]</a><br><br>
    </div>
    <!-- END BLOCK : block_compare_elements -->
    <!-- START BLOCK : block_compare_elements_no -->
    <!-- <a href="#" onclick="if(checkForm(document.getElementById('frmCompareProd')) == true) { document.getElementById('frmCompareProd').submit(); } return false;">сравнить</a><br><br> -->
    <!-- END BLOCK : block_compare_elements_no -->
    </td>
    <td><a href="{prod_link}">{prod_title}</a>&nbsp;{prod_descr}</td>
    <td align="center">{prod_availability}</td>
    <td align="center">{prod_price}</td>
    <td align="center"><form action="{add_to_cart_action}" method="post" name="addToCart{id}" enctype="multipart/form-data">
    <input type="text" name="qty" value="" size="3" maxlength="5">
    <input type="hidden" name="id" value="{prod_id}">
    <button type="submit" onclick="addGoodsToCart(this.form); return false;" style="background: #FFFFFF;"><img src="/i/ico_basket.gif" alt="Добавить в корзину" title="Добавить в корзину"></button>
    </form></td>
    </tr>
    </table>
    <!-- END BLOCK : block_product_row -->
    получается так см. скрин = Список товаров1.gif
    если поменять так:

    HTML:
    <table class="tbl" width="100%">
    <tr>
    <th>Сравнить</th> 
    <th width="50%">Наименование</th>
    <th>Наличие</th>
    <th>Цена</th>
    <th>Заказ</th>
    </tr>
    <!-- START BLOCK : block_product_row -->
    <tr>
    <td align="center">
    <!-- START BLOCK : block_compare_elements -->
    <!-- <input type="checkbox" name="compare[]" value="{prod_id}" id="{prod_id}">&nbsp;<a href="#" onclick="if(checkForm(document.getElementById('frmCompareProd')) == true) { document.getElementById('frmCompareProd').submit(); } return false;">сравнить</a><br> -->
    <div class="compare" id="compare_prd{prod_id}">
    <!--input type="checkbox" name="compare[]" value="{prod_id}" title="Выбрать для сравнения">&nbsp;-->
    <a href="" onclick="return addPrdForCompare({prod_id});" title="Добавить для сравнения">[+]</a><br><br>
    </div>
    <!-- END BLOCK : block_compare_elements -->
    <!-- START BLOCK : block_compare_elements_no -->
    <!-- <a href="#" onclick="if(checkForm(document.getElementById('frmCompareProd')) == true) { document.getElementById('frmCompareProd').submit(); } return false;">сравнить</a><br><br> -->
    <!-- END BLOCK : block_compare_elements_no -->
    </td>
    <td><a href="{prod_link}">{prod_title}</a>&nbsp;{prod_descr}</td>
    <td align="center">{prod_availability}</td>
    <td align="center">{prod_price}</td>
    <td align="center"><form action="{add_to_cart_action}" method="post" name="addToCart{id}" enctype="multipart/form-data">
    <input type="text" name="qty" value="" size="3" maxlength="5">
    <input type="hidden" name="id" value="{prod_id}">
    <button type="submit" onclick="addGoodsToCart(this.form); return false;" style="background: #FFFFFF;"><img src="/i/ico_basket.gif" alt="Добавить в корзину" title="Добавить в корзину"></button>
    </form></td>
    </tr>
    </table>
    <!-- END BLOCK : block_product_row -->
    то ваще только первая позиция попадает в таблицу... см. скрин =Список товаров2.gif

    Не могу понять в чем прикол =( Подскажите как исправить?!

    2) Подскажите не получилось вытащить КОД товара через {product_code} ! Как я понял надо править код продукта, проще не как?=)
     

    Вложения:

  2. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    81
    Симпатии:
    21
    по первому - во втором варианте нужно </table> вынести и поставить после <!-- END BLOCK : block_product_row -->

    по второму - только править скрипт каталога функцию getProdsOfSubCategs
     
    Vell61 нравится это.
  3. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    1) Разобрался... СПС биг! Терь красиво :yahoo:

    2) Помочь могеш? Или подскажи плиз что там подправить, попробую мож сам разобраться...
     
  4. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Вот эта функция, добаваил выделенное...
    Код:
    function getProdsOfSubCategs($prp = NULL, $how = '', $start = 1, $parent_title) {
            global $db, $server, $lang, $CONFIG, $baseurl;
            $prp = (int)$prp;
            $how = (int)$how;
            $start = $start > 1 ? intval($start) : 1;
            $ctgr = $this->getCategory($prp);
            $clnt_price = 'prod_price_'.(@$_SESSION['siteuser']['client_type'] ? $_SESSION['siteuser']['client_type'] : '1');
            if ($ctgr) {
                $db->query('SELECT DISTINCT P.id, product_title, product_inf, product_description, image_middle, image_big,
                                   price_1, price_2, price_3, price_4, price_5, currency, novelty, product_availability,
    							   if(alias is not null and alias!=\'\', alias, P.id) as alias, group_title, ptype_name, PT.link as ptype_link
                                   FROM '.$this->table_prefix.'_catalog_products AS P
                                   LEFT JOIN '.$this->table_prefix.'_catalog_groups AS G ON P.group_id = G.id
                                   LEFT JOIN '.$this->table_prefix.'_catalog_ptypes AS PT ON P.ptype_id = PT.id
                                   WHERE category_id = '.$prp.' AND P.active = 1
                                   ORDER BY P.'.$CONFIG['catalog_prod_order_by']
                    .($how > 0 ? " LIMIT ".(($start-1)*$how).",".$how : ''));
                if ($db->nf() > 0) {               
                	$add_to_cart_link = Core::formPageLink($CONFIG['shop_page_link'], $CONFIG['shop_page_address'], $lang);
                	$add_to_cart_link .= (FALSE === strpos($add_to_cart_link, "?") ? "?" : "&")."action=addtocart&id=";
                	$ids = array();
                    for($i = 0; $i < $db->nf(); $i++) {
                        $db->next_record();
                        $img = $db->f('image_middle');
                        $img = $img && file_exists(RP.$CONFIG['catalog_img_path'].$img) ? "/".$CONFIG['catalog_img_path'].$img : "";
                        $b_img = $db->f('image_big');
                        $b_img = $b_img && file_exists(RP.$CONFIG['catalog_img_path'].$b_img) ? "/".$CONFIG['catalog_img_path'].$b_img : "";
                        $arr[$i]['prod_num']			= ($i+1);
                        $arr[$i]['prod_id']				= $prod_id = $db->f('id');
                        $arr[$i]['prod_alias']			= $db->f('alias');
                        $arr[$i]['prod_link']			= $this->getProdLink($baseurl, $db->f('alias'), $prod_id, $ctgr['ctgr_alias']);
                        $arr[$i]['prod_title']			= $db->f('product_title');
    ///////////////////////вот что добавил//////////////////////
    					$arr[$i]['prod_code']		    = $db->f('product_code');
    ////////////////////////////////////////////////////////////
                        $arr[$i]['prod_descr']			= nl2br($db->f('product_inf'));
                        $arr[$i]['prod_image']			= $img;
                        $arr[$i]['prod_image_big']		= $b_img;
                        $arr[$i]['parent_title']		= $parent_title;
                        $arr[$i]['prod_price_1']		= $this->getCostWithTaxes($db->f('price_1'));
                        $arr[$i]['prod_price_2']		= $this->getCostWithTaxes($db->f('price_2'));
                        $arr[$i]['prod_price_3']		= $this->getCostWithTaxes($db->f('price_3'));
                        $arr[$i]['prod_price_4']		= $this->getCostWithTaxes($db->f('price_4'));
                        $arr[$i]['prod_price_5']		= $this->getCostWithTaxes($db->f('price_5'));
                        $arr[$i]['prod_price']			= $arr[$i][$clnt_price];
                        $arr[$i]['prod_currency']		= $CONFIG['catalog_currencies'][$db->f('currency')];
                        $arr[$i]['prod_novelty']		= $db->f('novelty');
                        $arr[$i]['prod_currency_name']	= $this->currencies[$db->f('currency')];
                        $arr[$i]['prod_availability']	= $db->f('product_availability');
                        $arr[$i]['add_to_cart_link']	= $add_to_cart_link.$prod_id;
                        $arr[$i]['group_title']			= $db->f('group_title');
                        $arr[$i]['ptype_name']			= $db->f('ptype_name');
                        $arr[$i]['ptype_link']			= $db->f('ptype_link');
                        $ids[$prod_id] = $i;
                    }
                    $this->setPropValForProdList($arr);
                    return $arr;
                }
            }
            return FALSE;
        }
    не хочет показывать код =(

    Добавлено через 7 минут
    ВСЕ СПС за подсказку, РАЗОБРАЛСЯ САМ!!! :yahoo:

    кому интересно вот код:

    Код:
    function getProdsOfSubCategs($prp = NULL, $how = '', $start = 1, $parent_title) {
            global $db, $server, $lang, $CONFIG, $baseurl;
    
            $prp = (int)$prp;
            $how = (int)$how;
            $start = $start > 1 ? intval($start) : 1;
            $ctgr = $this->getCategory($prp);
            $clnt_price = 'prod_price_'.(@$_SESSION['siteuser']['client_type'] ? $_SESSION['siteuser']['client_type'] : '1');
    
            if ($ctgr) {
                $db->query('SELECT DISTINCT P.id, product_title, product_code, product_inf, product_description, image_middle, image_big,
                                   price_1, price_2, price_3, price_4, price_5, currency, novelty, product_availability,
    							   if(alias is not null and alias!=\'\', alias, P.id) as alias, group_title, ptype_name, PT.link as ptype_link
                                   FROM '.$this->table_prefix.'_catalog_products AS P
                                   LEFT JOIN '.$this->table_prefix.'_catalog_groups AS G ON P.group_id = G.id
                                   LEFT JOIN '.$this->table_prefix.'_catalog_ptypes AS PT ON P.ptype_id = PT.id
                                   WHERE category_id = '.$prp.' AND P.active = 1
                                   ORDER BY P.'.$CONFIG['catalog_prod_order_by']
                    .($how > 0 ? " LIMIT ".(($start-1)*$how).",".$how : ''));
                if ($db->nf() > 0) {               
                	$add_to_cart_link = Core::formPageLink($CONFIG['shop_page_link'], $CONFIG['shop_page_address'], $lang);
                	$add_to_cart_link .= (FALSE === strpos($add_to_cart_link, "?") ? "?" : "&")."action=addtocart&id=";
                	$ids = array();
                    for($i = 0; $i < $db->nf(); $i++) {
                        $db->next_record();
                        $img = $db->f('image_middle');
                        $img = $img && file_exists(RP.$CONFIG['catalog_img_path'].$img) ? "/".$CONFIG['catalog_img_path'].$img : "";
                        $b_img = $db->f('image_big');
                        $b_img = $b_img && file_exists(RP.$CONFIG['catalog_img_path'].$b_img) ? "/".$CONFIG['catalog_img_path'].$b_img : "";
                        $arr[$i]['prod_num']			= ($i+1);
                        $arr[$i]['prod_id']				= $prod_id = $db->f('id');
                        $arr[$i]['prod_alias']			= $db->f('alias');
                        $arr[$i]['prod_link']			= $this->getProdLink($baseurl, $db->f('alias'), $prod_id, $ctgr['ctgr_alias']);
                        $arr[$i]['prod_title']			= $db->f('product_title');
    					$arr[$i]['prod_code']		    = $db->f('product_code');
                        $arr[$i]['prod_descr']			= nl2br($db->f('product_inf'));
                        $arr[$i]['prod_image']			= $img;
                        $arr[$i]['prod_image_big']		= $b_img;
                        $arr[$i]['parent_title']		= $parent_title;
                        $arr[$i]['prod_price_1']		= $this->getCostWithTaxes($db->f('price_1'));
                        $arr[$i]['prod_price_2']		= $this->getCostWithTaxes($db->f('price_2'));
                        $arr[$i]['prod_price_3']		= $this->getCostWithTaxes($db->f('price_3'));
                        $arr[$i]['prod_price_4']		= $this->getCostWithTaxes($db->f('price_4'));
                        $arr[$i]['prod_price_5']		= $this->getCostWithTaxes($db->f('price_5'));
                        $arr[$i]['prod_price']			= $arr[$i][$clnt_price];
                        $arr[$i]['prod_currency']		= $CONFIG['catalog_currencies'][$db->f('currency')];
                        $arr[$i]['prod_novelty']		= $db->f('novelty');
                        $arr[$i]['prod_currency_name']	= $this->currencies[$db->f('currency')];
                        $arr[$i]['prod_availability']	= $db->f('product_availability');
                        $arr[$i]['add_to_cart_link']	= $add_to_cart_link.$prod_id;
                        $arr[$i]['group_title']			= $db->f('group_title');
                        $arr[$i]['ptype_name']			= $db->f('ptype_name');
                        $arr[$i]['ptype_link']			= $db->f('ptype_link');
                        $ids[$prod_id] = $i;
                    }
                    $this->setPropValForProdList($arr);
                    
                    return $arr;
                }
            }
            return FALSE;
        }
    Добавлено через 10 минут
    В коде функции добавил ОТОБРАЖЕНИЕ КОДА ТОВАРА в списке товаров для шаблона catalog_products!!!
     
  5. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Еще плиз подскажи в списке отображения товара есть такая вещь как "Новинка" используется код вывода:

    Код:
    <!-- START BLOCK : block_product_novelty -->
    <b>[Новинка]</b>&nbsp;
    <!-- END BLOCK : block_product_novelty -->
    Так вот как я понимаю что бы "Лидеры продаж" выводились так же, например блоком:

    Код:
    <!-- START BLOCK : block_orders_leaders -->
    <b>[Лидер продаж]</b>&nbsp;
    <!-- END BLOCK : block_orders_leaders -->
    нужно править функционал в файле class.CatalogPrototype.php...

    Какая функция за вывод отвечает? Если не сложно название функции и комментарий в двух словах, заранее благодарен!

    Не понятно "Новинкам" присвоена в бд переменная - novelty, а какая "Лидерам продаж"?

    Добавлено через 46 минут
    Есть разобрался =)))

    Надо добавить строки:
    Код:
    3378 - leader
    
    3414 - $arr[$i]['prod_leader']		= $db->f('leader');
    
    8074 - if ($prod_info["prod_leader"]) {$tpl->newBlock('block_product_leader');}
    
     
Статус темы:
Закрыта.