support 447 Опубликовано 18 января, 2012 Жалоба Share Опубликовано 18 января, 2012 Вот так делается. Создаёте файл /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} Всё, теперь на странице карточки товара будут выводиться статьи, с которыми связан данные товар. Статьи и товары связывают в Админке - Разное - Статьи - Статьи-товары. Нужно там их связать, что б на странице карточки товара показывались. 6 Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения