当前位置:首页 > 行业动态 > 正文

如何在织梦DedeCMS中获取并展示文章所属的副栏目ID、名称以及网址链接?

在织梦dedecms中,要调用文章所属的副栏目ID及副栏目名称和网址链接,可以使用以下代码:,,“ php,{dede:field name='typeid' id='10'/},{dede:sql name='subCate' 运行='SELECT * FROM dede_arctype WHERE id = [field:typeid /]'},[field:typename/] [field:name/] ([field:url/]),{/dede:sql},“,,这段代码首先获取文章的 副栏目ID,然后通过SQL查询语句获取副栏目的名称、ID和URL链接。最后将结果输出。

在织梦DedeCMS中,调用文章所属的副栏目ID及副栏目名称网址等相关信息,可以通过修改模板文件和使用系统标签实现,以下是具体步骤和代码示例:

调用副栏目信息的方法

1. 修改模板文件

需要修改内容页模板article_article.htm,在该页面中,通过添加特定的PHP代码来获取并显示副栏目的信息。

{dede:field.typeid2 runphp='yes'}
    global $dsql;
    $ks = split(',', @me);
    $type2name = "";
    foreach ($ks as $k) {
        $k = trim($k);
        if ($k != "") {
            if ($row = $dsql>GetOne("SELECT * FROM#@__arctype WHERE id=" . $k)) {
                $type_path = GetTypeUrl($row['id'], MfTypedir($row['typedir']), $row['isdefault'], $row['defaultname'], $row['ispart'], $row['namerule2'], $row['siteurl']);
                $type2name .= "<a href='" . $type_path . "' target=_blank>" . $row['typename'] . "</a> ";
            }
        }
    }
    $this>Fields['typeid2llink'] = substr($type2name, 0, strlen($type2name) 1);
{/dede:field.typeid2}

2. 使用系统标签

页模板中使用以下标签来调用副栏目名称及其链接:

{dede:field.typeid2llink/}

相关FAQs

问题1:如何取消织梦DedeCMS对副栏目数量的限制?

答:默认情况下,一篇文章最多只能选择9个副栏目,如果需要取消这个限制,可以修改/dede/js/main.js 文件,找到并注释掉以下代码:

if (j == 10) break; // 取消这一行

问题2:如何在列表页上调用副栏目的名称和链接?

答:在列表页模板中,可以使用以下标签来调用副栏目的名称和链接:

[field:typeid2 function="get_typeid2(@me)/]

然后在/include/extend.func.php 文件中添加以下函数:

function get_typeid2($typeid2){
    $query = "SELECT * FROM#@__arctype WHERE id IN ($typeid2) AND ishidden<>1 ORDER BY FIELD(id,$typeid2)";
    $dsql>Execute('t', $query);
    $result = '';
    while ($row = $dsql>GetArray('t')) {
        $type_path = GetOneTypeUrlA($row['id']);
        $result .= "<a href='{$type_path}'>{$row['typename']}</a>,";
    }
    return substr($result, 0, 1);
}

通过以上步骤,可以在织梦DedeCMS中方便地调用文章所属的副栏目ID、副栏目名称以及副栏目的网址链接,从而丰富了网站的内链结构,有助于SEO优化和用户体验的提升。

织梦DedeCMS调用文章所属的副栏目ID、副栏目名称及网址链接等

在织梦DedeCMS中,可以通过以下步骤调用文章所属的副栏目ID、副栏目名称及其网址链接等信息:

1. 获取副栏目ID

页模板中,可以通过以下代码获取文章所属的副栏目ID:

<?php
// 获取当前文章的ID
$aids = $article_id;
// 获取当前文章的所属栏目信息
$category = GetCategory($aid);
// 获取副栏目ID
$fid = $category['fid'];
?>

2. 获取副栏目名称

同样在模板中,可以获取副栏目的名称:

<?php
// 获取副栏目名称
$fcatname = $category['catname'];
?>

3. 获取副栏目网址链接

要获取副栏目的网址链接,可以使用以下代码:

<?php
// 获取副栏目的网址链接
$furl = $cfg_basehost . $category['url'];
?>

4. 完整代码示例

以下是一个整合了上述步骤的完整代码示例:

<?php
// 获取当前文章的ID
$aids = $article_id;
// 获取当前文章的所属栏目信息
$category = GetCategory($aid);
// 获取副栏目ID
$fid = $category['fid'];
// 获取副栏目名称
$fcatname = $category['catname'];
// 获取副栏目的网址链接
$furl = $cfg_basehost . $category['url'];
?>
<!输出副栏目ID >
<div>副栏目ID: <?php echo $fid; ?></div>
<!输出副栏目名称 >
<div>副栏目名称: <?php echo $fcatname; ?></div>
<!输出副栏目网址链接 >
<div>副栏目链接: <a href="<?php echo $furl; ?>" target="_blank"><?php echo $furl; ?></a></div>

注意事项

确保模板文件中已经包含了/include/common.inc.php文件,因为GetCategory函数和$cfg_basehost配置是在这个文件中定义的。

$article_id需要是文章的实际ID,通常在文章内容页模板中通过$aid获取。

$cfg_basehost是网站的基础URL,通常在/include/config_base.php中定义。

通过以上步骤,您可以在织梦DedeCMS中准确地调用文章所属的副栏目ID、副栏目名称及其网址链接。

0