`
yushine
  • 浏览: 196646 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

自定义函数显示 Drupal 分类列表

 
阅读更多

自定义函数显示 Drupal 分类列表

Drupal中的CCK和View模块功能强大,几乎可以用鼠标点出你想要的任何内容。

但耗费的性能和效率问题也与它的功能一样强大。 :mrgreen:

其实CCK和View能实现的我们手动一样可以实现,而且异常简单。

以国内网站最常见的显示某一分类最新文章列表为例:

在模板文件 template.php 中增加一个自定义函数如下:

 

function phptemplate_show_taxonomy($tid){
//根据tid读取术语名称
$sql ="SELECT name FROM {term_data} WHERE tid = %d";
$result = db_query(db_rewrite_sql($sql),$tid);
while($data = db_fetch_object($result)){
$term_name = $data->name;
}
$output = "<div>";
$output .= "<h2>".$term_name."</h2><ul>";
$sql = "SELECT n.nid, n.title, n.created
FROM {term_node} tn
LEFT JOIN {node} n on n.nid = tn.nid
WHERE tn.tid = %d
ORDER BY n.created DESC";
$result = db_query_range(db_rewrite_sql($sql),$tid,0,8);
while($data = db_fetch_object($result)){
$output .="<li>".l($data->title,"node/$data->nid")."</li>";
}
$output .= "</ul></div>";
return $output;
}
在模板适当位置写入:
<?php print phptemplate_show_taxonomy(12) ?>

function phptemplate_show_taxonomy($tid){

//根据tid读取术语名称

$sql ="SELECT name FROM {term_data} WHERE tid = %d";

$result = db_query(db_rewrite_sql($sql),$tid);

while($data = db_fetch_object($result)){

$term_name = $data->name;

}

$output = "<div>";

$output .= "<h2>".$term_name."</h2><ul>";

$sql = "SELECT n.nid, n.title, n.created

FROM {term_node} tn

LEFT JOIN {node} n on n.nid = tn.nid

WHERE tn.tid = %d

ORDER BY n.created DESC";

$result = db_query_range(db_rewrite_sql($sql),$tid,0,8);

while($data = db_fetch_object($result)){

$output .="<li>".l($data->title,"node/$data->nid")."</li>";

}

$output .= "</ul></div>";

return $output;

}

在模板适当位置写入:

<?php print phptemplate_show_taxonomy(12) ?>

 

PS:1年前做Drupal项目时写得备忘,今天被不小心翻出来了…
WordPress贴代码真麻烦,不过懒得修改了,过几天把自己的Blog软件完善下发布出来…

TrackBack: http://mimiz.cn/index.php/drupal/drupal-category-list/trackback/
分享到:
评论

相关推荐

    custom-leaflet:自定义传单地图 Drupal 模块

    自定义传单地图 Drupal 模块

    drupal_themes:自定义主题-Drupal 7

    drupal_themes 自定义主题-Drupal 7

    Drupal模板变量列表

    Drupal模板开发时常用的模板变量汇总列表!从网上看到的,分享给我我一样的Drupal菜鸟使用!

    drupalorg.gs:用于自动填充目的的读取 Drupal.org API 的 Google 表格的自定义函数

    drupalorg.gs 用于自动填充目的的读取 Drupal.org API 的 Google 表格的自定义函数。

    cu-theme:适用于Drupal网站的基于Bootstrap的自定义子主题

    cu-theme:适用于Drupal网站的基于Bootstrap的自定义子主题

    Drupal模块分类

    将模块分类,并提供过滤功能。对于越来越多的模块,这是个十分方便的管理模块的工具。

    react_to_drupal:使用Webpack在自定义模块Drupal 8中实现ReactJs

    将模块放在模块的自定义文件夹中。 然后,在命令行中,将自己置于模块的react文件中并运行 yarn 命令启动项目并运行 webpack 命令进行编译。 C:\Users\mm\tdb\workspace\drupal-react\drupal\web\modules\custom...

    Drupal7宝典+Drupal开发指南+Using Drupal

    包含:Drupal7宝典; Drupal开发指南; Using Drupal(强烈推荐) 值得你下载!

    Drupal data Drupal data

    Drupal dataDrupal data

    Drupal 7宝典

    像本系列的其他书籍一样,您可以在本书中找到“手把手”的教程和...如果您是一名开发人员,并且想为系统开发自定义的功能,Drupal也可以满足您的需求。如果您只是一位站长,想完全掌控您的网站,那么Drupal就足够了。

    自定义drupal注册表单的方法

    主要为大家介绍了自定义drupal注册表单的方法,通过user钩子实现对用户注册信息项的灵活控制,是进行drupal建站时非常实用的技巧,需要的朋友可以参考下

    Enterprise Drupal 8 Development

    "Enterprise Drupal 8 Development: For Advanced Projects and Large Development Teams" English | ISBN: 1484202546 | 2017 | 309 pages | PDF | 9 MB Successfully architect a Drupal 8 website that scales ...

    Drupal v7.9 多国语言版.zip

    更加灵活:定义你自己的内容结构,可以为内容、用户和评论添加更多自定义字段。使用超过800个Drupal 7专用模块来扩展你的站点。 更加扩展:感谢对JavaScript和CSS的优化、更好的缓存机制以及其他很多改进,你的...

    custom_views_argument:在Drupal中创建自定义参数插件的示例

    在某些Drupal项目中,我们将分类学术语作为某些Views页面的上下文参数,例如/blog/[TERM]/search 。 带有pathauto模块的自动URL模式会创建指向默认分类法术语登录页面的URL,但是,如果您在Views中将分类法术语用作...

    自己写的 drupal module 验证码

    由于drupal form 用的很不顺手,所以偶尔自定义form,这样用第3方的drupal验证码不太方便了,所以就写了这个module,验证码的实现方法来自网络。(注意,这个不是用drupal form做的,但是可以嵌入到drupal里)

    Drupal 7.54 英文版.zip

    添加了一个新的drupal_is_https()API函数;搜索记录现在可以被禁用(管理界面中的新选项;日期类型配置页面上的短和中日期格式的默认值现在是正确的;文件验证错误消息现在在后续上传有效文件后被删除。

    drupal6版本(这是drupal6)

    drupal6的安装,drupal6的安装drupal6的安装drupal6的安装

    Drupal v7.52

    更加灵活:定义你自己的内容结构,可以为内容、用户和评论添加更多自定义字段。使用超过800个Drupal 7专用模块来扩展你的站点。更加扩展:感谢对JavaScript和CSS的优化、更好的缓存机制以及其他很多改进,你的Drupal...

    drupal7与drupal6版本修改内容

    drupal7 vs drupal6 详细的列出了从drupal6升级到drupal7所做的一些改动。 从代码,配置,UI,API等全方面的诠释drupal7与drupal6 的不同之处。

    Decoupled Drupal in Practice

    Decoupled Drupal in Practice: Architect and Implement Decoupled Drupal Architectures Across the Stack By 作者: Preston So ISBN-10 书号: 1484240715 ISBN-13 书号: 9781484240717 Edition 版本: 1st ed. ...

Global site tag (gtag.js) - Google Analytics