确保友情链接已添加
在调用之前,请确保你已经:

- 登录织梦后台。
- 进入【核心】 -> 【友情链接管理】。
- 添加了至少一个或多个友情链接,并设置了“类型”(如文本、图片、Flash)。
最常用、最简单的调用(官方推荐)
这是最直接的方法,使用织梦官方提供的 {dede:flink/} 标签,它会自动读取后台设置的友情链接,并按照默认的样式输出。
基本语法:
{dede:flink/}
这个标签通常放在网站的页脚区域。
默认输出效果:
这个标签默认会输出所有类型(文本和图片)的链接,并以 <dd> 和 <dt> 标签包裹。
<dd>
<a href="https://www.example1.com" target="_blank">示例网站一</a>
</dd>
<dd>
<a href="https://www.example2.com" target="_blank">
<img src="https://www.example2.com/logo.gif" alt="示例网站二" style="max-height: 32px;">
</a>
</dd>
带参数的灵活调用(最常用)
通过给 {dede:flink/} 标签添加参数,我们可以精确控制要调用的友情链接类型、数量、排序方式等。
常用参数说明:
| 参数 | 说明 | 示例 |
|---|---|---|
type |
链接类型。text 为文字链接,image 为图片链接。 |
{dede:flink type='text'} |
row |
调用链接的数量。 | {dede:flink row='10'} |
linktype |
链接位置。1 为首页,2 为内页。all 为所有。 |
{dede:flink linktype='1'} |
typeid |
指定分类ID,需要在后台友情链接分类中设置。 | {dede:flink typeid='1'} |
typeid |
指定分类ID,需要在后台友情链接分类中设置。 | {dede:flink typeid='1'} |
组合使用示例:
示例1:只调用首页的文字链接,最多显示10个
{dede:flink type='text' row='10' linktype='1'}
示例2:只调用首页的图片链接,最多显示6个,标题最多显示8个字符
{dede:flink type='image' row='6' linktype='1' titlelen='8'}
自定义样式(高级用法)
很多时候,默认的 <dd> 和 <dt> 标签并不能满足我们的设计需求,我们可以使用 function 属性来调用一个自定义的函数,从而完全控制输出的HTML结构。
步骤:
-
创建自定义函数文件 在你的织梦网站根目录下找到
/include/extend.func.php文件,如果这个文件不存在,就新建一个,在这个文件中添加你自定义的函数。我们想实现一个简单的
<ul>列表,每个链接是<li>包裹的。在
extend.func.php中添加如下代码:/** * 自定义友情链接输出函数 * @param int $typeid 分类ID * @param int $row 调用条数 * @param string $type 类型 text/image * @return string */ function my_flink($typeid = 0, $row = 10, $type = 'text') { $dsql = new DedeSql(false); $typeid = (int)$typeid; $row = (int)$row; // 获取链接数据 $dsql->SetQuery("SELECT * FROM `#@__flink` WHERE (typeid='$typeid' OR typeid=0) AND ischeck=1 ORDER BY id DESC LIMIT 0, $row"); $dsql->Execute('fl'); $html = '<ul class="my-flink-list">'; while($row = $dsql->GetArray('fl')) { if($type == 'image' && !empty($row['logo'])) { // 图片链接 $html .= "<li><a href='{$row['url']}' target='_blank'><img src='{$row['logo']}' alt='{$row['webname']}' /></a></li>"; } elseif($type == 'text') { // 文字链接 $html .= "<li><a href='{$row['url']}' target='_blank'>{$row['webname']}</a></li>"; } } $html .= '</ul>'; $dsql->Close(); return $html; } -
在模板中调用这个函数 在你的模板文件(如
footer.htm)中,使用{dede:global name='phpurl'/}/helper/extendfun.php来加载自定义函数,然后调用它。{dede:global name='phpurl'/}/helper/extendfun.php?my_flink()更完整的调用方式(带参数):
{dede:global name='phpurl'/}/helper/extendfun.php?my_flink(0, 8, 'text')}这里的
0, 8, 'text'分别对应我们自定义函数$typeid,$row,$type三个参数。
更简单的 function 调用方式(无需新建PHP文件):
织梦也支持直接在模板标签中使用 function 属性来调用一个简单的回调函数,这个函数同样写在 extend.func.php 中。
// 在 extend.func.php 中
function simple_flink($atts, $content)
{
extract($atts); // 解析标签参数
$html = '';
// 这里写获取数据并拼接HTML的逻辑
// 为了简化,我们直接使用默认标签的输出
$html = dedeGetHtml($atts);
return $html;
}
然后在模板中调用:
{dede:flink type='text' row='5' function='simpleFlink(@me)'/}
这种方式相对复杂,不如直接修改模板标签来得直观,所以一般推荐方法二或方法三的第一种。
调用指定分类的友情链接
如果你的友情链接很多,并且通过后台的分类功能进行了管理(分为“合作伙伴”、“技术支持”等类别),你可以调用指定分类的链接。
-
在后台给友情链接分类: 进入【核心】 -> 【友情链接分类管理】,添加分类,合作伙伴”,并记下其ID(假设为1)。
-
在模板中调用: 使用
typeid参数指定分类ID。调用分类ID为1的链接(文字和图片都显示):
{dede:flink typeid='1' row='10'}调用分类ID为2的链接,并且只显示图片链接:
{dede:flink typeid='2' type='image' row='6'}
总结与最佳实践
| 场景 | 推荐方法 | 示例代码 |
|---|---|---|
| 新手入门/简单调用 | 方法一 | {dede:flink/} |
| 常规需求(控制类型、数量) | 方法二 | {dede:flink type='text' row='10' linktype='1'} |
| 需要自定义HTML结构 | 方法三 | 在 extend.func.php 写函数,模板中调用 my_flink() |
| 调用分类管理的链接 | 方法二 + 后台分类 | {dede:flink typeid='1'} |
对于99%方法二(带参数的调用) 已经足够强大和灵活,只有在需要非常特殊和复杂的HTML结构时,才需要使用方法三(自定义函数)。
希望这个详细的教程能帮助你成功调用织梦的友情链接!
