Перейти к содержанию
Форум поддержки пользователей VamShop

Как вывести сопутствующие товару статьи на страницу карточки товара?!


support

Рекомендуемые сообщения

Вот так делается.

Создаёте файл /includes/modules/product_articles.php с таким кодом:

Код: [Выделить]

<?php

$module = new vamTemplate;

$module->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');

$sql = "select distinct ax.articles_id, ad.articles_name, a.articles_last_modified from " . TABLE_ARTICLES_XSELL . " ax LEFT JOIN ".TABLE_ARTICLES." a USING(articles_id) LEFT JOIN " . TABLE_ARTICLES_DESCRIPTION . " ad USING(articles_id) where ax.xsell_id = '" . (int)$_GET['products_id'] . "' and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and a.articles_status = '1' order by a.articles_last_modified";

$row = 0;

$module_content = array ();

$query = vamDBquery($sql);

while ($one = vam_db_fetch_array($query,true)) {

$SEF_parameter = '';

if (SEARCH_ENGINE_FRIENDLY_URLS == 'true')

$SEF_parameter = '&headline='.vam_cleanName($one['articles_name']);

$module_content[]=array(

'ARTICLES_NAME' => $one['articles_name'],

'ARTICLES_DESCRIPTOIN' => $one['articles_description'],

'ARTICLES_URL' => vam_href_link(FILENAME_ARTICLE_INFO, 'articles_id=' . $one['articles_id'] . $SEF_parameter)

);

}

if (sizeof($module_content) > 0) {

$module->assign('language', $_SESSION['language']);

$module->assign('module_content',$module_content);

// set cache ID

if (!CacheCheck()) {

$module->caching = 0;

$module= $module->fetch(CURRENT_TEMPLATE.'/module/product_articles.html');

} else {

$module->caching = 1;

$module->cache_lifetime=CACHE_LIFETIME;

$module->cache_modified_check=CACHE_CHECK;

$module = $module->fetch(CURRENT_TEMPLATE.'/module/product_articles.html',$cache_id);

}

$info->assign('MODULE_product_articles', $module);

}

?>

Создаёте файл /templates/vamshop/module/product_articles.html:

Код: [Выделить]

{config_load file="$language/lang_$language.conf" section="boxes"}

<h1><a href="{$ARTICLES_URL}">{#heading_articles#}</a></h1>

{foreach name=aussen item=module_data from=$module_content}

<div class="page">

<b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>

<div class="pageItem">

<dl class="itemLatestNewsDefault">

<dt class="itemNews">

</dt>

<dd class="itemNews">

<strong><a href="{$module_data.ARTICLES_URL}">{$module_data.ARTICLES_NAME}</a></strong>

</dd>

<dd class="itemNews">

{$module_data.ARTICLES_DESCRIPTOIN}

</dd>

</dl>

<div class="clear"></div>

</div>

<b class="b4b"></b><b class="b3b"></b><b class="b2b"></b><b class="b1b"></b>

</div>

{/foreach}

<div class="clear"></div>

<p></p>

Открываете /includes/modules/product_info.php и добавляете:

Код: [Выделить]

include (DIR_WS_MODULES . 'product_articles.php');

после:

Код: [Выделить]

include (DIR_WS_MODULES.'product_reviews.php');

В /templates/vamhop/module/product_info/product_info_v1.html добавляете:

Код: [Выделить]

{if $MODULE_product_articles != ''}

{$MODULE_product_articles}

{/if}

например после:

Код: [Выделить]

{if $MODULE_products_reviews != ''}

{$MODULE_products_reviews}

{/if}

Всё, теперь на странице карточки товара будут выводиться статьи, с которыми связан данные товар.

Статьи и товары связывают в Админке - Разное - Статьи - Статьи-товары.

Нужно там их связать, что б на странице карточки товара показывались.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...