Перейти к содержанию
Форум поддержки пользователей 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, ad.articles_description, 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);
}
?>
[/code] Создаёте файл /templates/vamshop/module/product_articles.html:
[code]
{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|truncate:255:"...":true}
</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');
[/code] после:
[code]
include (DIR_WS_MODULES.'product_reviews.php');

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

{if $MODULE_product_articles != ''}
{$MODULE_product_articles}
{/if}
[/code] например после:
[code]
{if $MODULE_products_reviews != ''}
{$MODULE_products_reviews}
{/if}

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

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

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

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