ecshop怎样在文章中调用友情链接列表
在 ecshop 中,友情链接通常都是在首页调用的,但有时候的需要也可能要在其它页面调用,比如文章页面中,但在其它页面直接放模板标签是不行的,还要在相应的文章 PHP 页面进行函数的定义,并进行 smarty 赋值才行,下面小虎博客就来分享一下如何在文章中调用友情链接列表,我们可以举一反三把此方法应用到其它页面。
第一步,打开 article_cat.php 文件,在 74行左右的空白代码处添加如下代码:
[code lang="php"]
/* links */
$links = index_get_links();
$smarty->assign('img_links',
$links['img']);
$smarty->assign('txt_links', $links['txt']);
[/code]
第二步,在最后的 112 行左右添加如下代码:
[code lang="php"]
function index_get_links() {
$sql = 'SELECT link_logo, link_name, link_url FROM ' . $GLOBALS['ecs']->table('friend_link') . ' ORDER BY show_order';
$res = $GLOBALS['db']->getAll($sql);
$links['img'] = $links['txt'] = array();
foreach ($res AS $row) {
if (!empty($row['link_logo']))
{
$links['img'][] = array('name' => $row['link_name'],
'url' => $row['link_url'],
'logo' => $row['link_logo']);
}
else
{
$links['txt'][] = array('name' => $row['link_name'],
'url' => $row['link_url']);
}
}
return $links;
}
[/code]
第三步:打开模板文件 article_cat.dwt,查找如下代码:
[code lang="php"]
<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/library/page_footer.lbi" -->
[/code]
在这段代码的上面添加友情链接的模板标签就可以了,代码如下:
[code lang="php"]
<!-- #EndLibraryItem --><!--{if $img_links or $txt_links }-->
<div style="border:1px solid #CCC;margin:5px auto 10px auto;padding:5px;">
<!-- {if $img_links} --> <div style="padding:3px;">
<!--开始图片类型的友情链接{foreach from=$img_links item=link}-->
<span style="width: 100px; text-align: center">
<a href="{$link.url}" target="_blank" title="{$link.name}"><img src="{$link.logo}" width="88" height="31" alt="{$link.name}" border="0" /></a>
</span>
<SCRIPT src="themes/default/friendship.js">
</SCRIPT>
<!--结束图片类型的友情链接{/foreach}-->
</div>
<!-- {/if} -->
<!-- {if $txt_links} -->
<div style="padding:3px;">
<!--开始文字类型的友情链接{foreach from=$txt_links item=link}-->
<span style="width: 100px; text-align: center"> [<a href="{$link.url}" target="_blank" title="{$link.name}">{$link.name}</a>]</span>
<!--结束文字类型的友情链接{/foreach}-->
</div>
<!-- {/if} -->
</div>
<!--{/if}-->
[/code]
这是将友情链接的模板标签代码添加在了底部的上面,其实这个可以自定义放在自己需要的位置上即可。