Jump to content

Список всех товаров из категории в информации о товаре


Recommended Posts

Frycrosoft

Как это реалезовать я знаю. Вот код:

<?php
$info->assign('PRODUCT_NAVIGATOR', $product_navigator);
    $export_query = "select
    p.products_id, pd.products_name, m.manufacturers_id, m.manufacturers_name
    from
    " . TABLE_PRODUCTS . " p LEFT JOIN
    " . TABLE_MANUFACTURERS . " m ON
    p.manufacturers_id = m.manufacturers_id LEFT JOIN
    " . TABLE_PRODUCTS_DESCRIPTION . " pd ON
    p.products_id = pd.products_id AND
    pd.language_id = '".$_SESSION['languages_id']."'
    where
    p.products_status = 1
    GROUP BY
    p.products_id
    order by
    '".@$_GET['sort_by']."',
    pd.products_name";

$export_query = vamDBquery($export_query);
    while ($row = vam_db_fetch_array($export_query,true)) {

            echo "<a href=\"".vam_href_link( '' .$row["products_name"]).".html\" class=\"mnf\">" .$row["products_name"]. "</a>"."\n";

    }


?>[/code]

но как это реализовать правильно? я когда это делаю все товары отображаются в самом верху страницы.

Link to post
Share on other sites
  • Replies 100
  • Created
  • Last Reply

Top Posters In This Topic

  • Frycrosoft

    42

  • support

    29

  • mosquito

    20

  • Valyok

    7

Нужно создать метку для шаблона, по примеру как у тебя выше в коде $info->assign .... и затем метку вставлять в шаблон карточки товара /templates/шаблон/module/product_info/product_info_v1.html

Link to post
Share on other sites
Frycrosoft

как это правильно сделать? когда я пытаюсь это реализовать, список товаров выводится в самых верх страницы.

помогите пожалуйста! :) заодно модуль новый появится! :)

Link to post
Share on other sites

Ну посмотрите выше определяется же метка PRODUCT_NAVIFATIOR

Вам нужно примерно так же определить метку шаблона для своего кода:


$info->assign('test', $test);
[/code]

Не использовать echo, а $test .= vam_href_link или как-то так.

Затем в шаблон который я выше указал вставлять $test

Link to post
Share on other sites

модуль новый помоему не получется... тут просто нужно править код (тоесть уже готовый модуль templates/yourtemplate/product_info_v1.html)...

Link to post
Share on other sites

и еще почему

where p.products_status = 1

судя с названия темы нужно выводить товары только той категории в какой находиться выбраный товар а этот запрос выводит все товары... или я чтото не так понял?0o

Link to post
Share on other sites
Frycrosoft

выводятся товары только категории в которой находишься

так начинаю делать. отпишу как все :)

Link to post
Share on other sites

<?php
$info->assign('PRODUCT_NAVIGATOR', $product_navigator);
    $export_query = "select
    p.products_id, pd.products_name, m.manufacturers_id, m.manufacturers_name, pd.products_url
    from
    " . TABLE_PRODUCTS . " p LEFT JOIN
    " . TABLE_MANUFACTURERS . " m ON
    p.manufacturers_id = m.manufacturers_id LEFT JOIN
    " . TABLE_PRODUCTS_DESCRIPTION . " pd ON
    p.products_id = pd.products_id AND
    pd.language_id = '".$_SESSION['languages_id']."'
    GROUP BY
    p.products_id
    order by
    '".@$_GET['sort_by']."',
    pd.products_name";

$export_query = vamDBquery($export_query);
    while ($row = vam_db_fetch_array($export_query,true)) {

            $test .= '<a href="'.vam_href_link('' .$row["products_url"]).'\">' .$row["products_name"]. '</a> ';
    }


$info->assign('test', $test);
?>[/code]

Вот такой вод код. Потом вставил в  product_info - {$test}

И тишина:)

Link to post
Share on other sites

Покажите целиком свой /includes/modules/product_info.php файл.

Link to post
Share on other sites

<p>{config_load file="$language/lang_$language.conf" section="product_info"}
  {$FORM_ACTION} </p>
<span class="info">Другие товары из категории {$CATEGORY}: <br>{$test}<br />
</span>
<h1 class="contentBoxHeading">товар: {$PRODUCTS_NAME}</h1>
{if $PRODUCTS_DESCRIPTION !=''}
   {$PRODUCTS_DESCRIPTION}<br />
{/if}

{if $extra_fields_data}
{foreach name=aussen item=extra_fields from=$extra_fields_data}
{$extra_fields.NAME}: {$extra_fields.VALUE}<br />
{/foreach}
{/if}

{if $MODULE_tpt != ''}
   {$MODULE_tpt}<br />
{/if}

<br />
{if $PRODUCTS_MO_IMAGES or $PRODUCTS_IMAGE_LINK!=''}
<center>
<table cellpadding="0" cellspacing="0" bgcolor="#CCCCCC"  width="600" height="100%">
<tr><td align="center" style="padding-top:15px; padding-bottom:15px;">
<!-- more images -->
{if $PRODUCTS_MO_IMAGES}
{foreach name=mo_pic item=img_values from=$mo_img}
{if $img_values.PRODUCTS_MO_POPUP_LINK !=''}<a href="{$img_values.PRODUCTS_MO_POPUP_IMAGE}" title="{$PRODUCTS_NAME}" class="thickbox" rel="gallery-plants" target="_blank">{/if}<img src="{$img_values.PRODUCTS_MO_IMAGE}" alt="{$PRODUCTS_NAME}" />{if $img_values.PRODUCTS_MO_POPUP_LINK !=''}<img src="{$tpl_path}img/zoom.gif" alt="{#text_zoom#}" border="0" width="16" height="12" /></a>{/if}&nbsp;
{/foreach}
{/if}</td></tr>
</table>
<!-- more images eof -->
</center>

<p>
{if $PRODUCTS_IMAGE_LINK!=''}
  <a href="{$PRODUCTS_IMAGE_LINK}" onclick="window.open(this.href); return false;">{$PRODUCTS_TEXT_ZOOM}</a>
{/if}
</p>
{/if}


{#print#}&nbsp;{$PRODUCTS_PRINT}<br />
{#question#}&nbsp;{$ASK_PRODUCT_QUESTION}<br />[/code]

в самом верху вот оно: <span class="info">Другие товары из категории {$CATEGORY}: <br>{$test}<br /> </span>

Link to post
Share on other sites

Я ж имею в виду /includes/modules/product_info.php

Прицепите этот файл.

Link to post
Share on other sites

кстати, что б не создовать новую тему, может я просто не вижу этого(не в документации, не на форуме), но как добавить описание к производителю так же как и к категории?

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

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

Link to post
Share on other sites

Описание к производителю добавлять нельзя.

Только название у производителя.

Link to post
Share on other sites

а что насчет product info? я его прицепил, выше.

я там ничего кстати не менял! блин в чем же ошибка..

Link to post
Share on other sites

Что-то я не нашёл в этом файле код, что Вы приводили в ответе номер 7.

Link to post
Share on other sites

я извеняюсь, код должен быть в файле product_info.php???? а где именно его вставлять? я этот код вообще в отдельный файл сунул и подсоединил. вот дурак.

подскажите пожалуйста куда именно его вставлять?

Link to post
Share on other sites

Ну да, вроде в product_info.php должен быть.

Вставляй например после:


$info->assign('PRODUCTS_MODEL', $product->data['products_model']);

[/code]

Link to post
Share on other sites

Опять не так значит код добавил.

Покажи целиком файл с добавленным кодом.

Link to post
Share on other sites

добавил все верно, ошибся в коде при выводе ссылки.

Link to post
Share on other sites

Выкладываю полностью рабочую ф-ию (модуль)

Описание: В информации о товаре появляется список всех товаров из той же категории.

Код:

В includes/modules/product_info.php

после $info->assign('PRODUCTS_MODEL', $product->data['products_model']); вставляем:

	
    $export_query = "select
    p.products_id, p.products_page_url, pd.products_name, m.manufacturers_id, m.manufacturers_name
    from
    " . TABLE_PRODUCTS . " p LEFT JOIN
    " . TABLE_MANUFACTURERS . " m ON
    p.manufacturers_id = m.manufacturers_id LEFT JOIN
    " . TABLE_PRODUCTS_DESCRIPTION . " pd ON
    p.products_id = pd.products_id AND
    pd.language_id = '".$_SESSION['languages_id']."'
    GROUP BY
    p.products_id
    order by
    '".@$_GET['sort_by']."',
    pd.products_name";

$export_query = vamDBquery($export_query);
    while ($row = vam_db_fetch_array($export_query,true)) {

             $test .= '<a href="'.vam_href_link('' .$row["products_page_url"]).'">' .$row["products_name"]. '</a> | ';
    }


$info->assign('test', $test);[/code]

В templates/шаблон/modules/product_info/product_info.html в любое место добавляем: {$test}

P.S. работает при условии что вы заполняете: SEO URL товара.

Огромное спасибо: VaM

Link to post
Share on other sites

так, я снова нашел баг, скрипт выводит вообще все товары... а не только товары данной категории... что делать?

Link to post
Share on other sites

Наверное sql запрос неправильный, нет ограничения по категории.

Я ж не знаю всех тонкостей, что и как Вы делаете.

Link to post
Share on other sites

×
×
  • Create New...