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

<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

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

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

Код:

В 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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...