A-A+
ecshop怎样在文章中调用友情链接列表
在 ecshop 中,友情链接通常都是在首页调用的,但有时候的需要也可能要在其它页面调用,比如文章页面中,但在其它页面直接放模板标签是不行的,还要在相应的文章 PHP 页面进行函数的定义,并进行 smarty 赋值才行,下面夏日博客就来分享一下如何在文章中调用友情链接列表,我们可以举一反三把此方法应用到其它页面。
第一步,打开 article_cat.php 文件,在 74行左右的空白代码处添加如下代码:
/* links */ $links = index_get_links(); $smarty->assign('img_links', $links['img']); $smarty->assign('txt_links', $links['txt']);
第二步,在最后的 112 行左右添加如下代码:
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; }
第三步:打开模板文件 article_cat.dwt,查找如下代码:
<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/library/page_footer.lbi" -->
在这段代码的上面添加友情链接的模板标签就可以了,代码如下:
<!-- #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}-->
这是将友情链接的模板标签代码添加在了底部的上面,其实这个可以自定义放在自己需要的位置上即可。