返回   CHF站长论坛 > 特色讨论区 > Drupal 讨论专栏

Drupal 讨论专栏 Drupal 是一个高度个性化、模块化的开源内容管理系统。[官方]

双至强仅二千,企商在线,最早租用商 魔兽世界私服 魔兽世界私服 此文字广告位招租 天龙八部私服 传奇世界私服 新开传奇私服
传奇私服 热血江湖私服 全球最新的创意科技产品 魔域私服 魔域私服 新开传奇私服 魔域私服 传奇私服
发表新主题 回复
 
主题工具 主题评分 显示模式
旧 2007-11-28, 08:31   #1 (页面定位)
自由的风
一般站友
 
注册日期: 2007-11-05
帖子: 23
自由的风 是普普通通的会员
默认 Drupal的tags

请问怎么给Drupal的节点中加入tag?
就像通常的blog那样
那个awtags似乎没有针对5.3的版本了?
知道的请回个话,非常感谢!
自由的风 当前离线   回复时引用此帖
旧 2007-11-28, 10:02   #2 (页面定位)
老鬼
版主
 
老鬼 的头像
 
注册日期: 2005-08-30
住址: 地球
帖子: 12523
老鬼 的声望功能已被禁用
默认

drupal的分类就是tag,你如果选了“自由标签”就是tag功能了,
你可以建两个词汇表,一个做主分类,一个做tag
老鬼 当前离线   回复时引用此帖
旧 2007-11-28, 11:32   #3 (页面定位)
自由的风
一般站友
 
注册日期: 2007-11-05
帖子: 23
自由的风 是普普通通的会员
默认

谢谢老鬼!非常感谢!现在搞定了
但是又遇到了几个问题:
1.你提供的那个文章分类显示的代码,需要做一些修改,不然连tags也给显示出来了
这个我用一个比较笨的办法实现了,就是指定一下vid
2.那个文章的上一页下一页显示出现了问题,只要 添加了 tag,就不能正确显示
ps:你的极客集 可以显示上下页的 文章标题,这个是怎么解决的?可否告知?
3.通过theme区别显示一般分类与freetag标签:http://www.verydummy.com/blog/node/103
这个已经搞定
自由的风 当前离线   回复时引用此帖
旧 2007-11-28, 12:35   #4 (页面定位)
老鬼
版主
 
老鬼 的头像
 
注册日期: 2005-08-30
住址: 地球
帖子: 12523
老鬼 的声望功能已被禁用
默认

我的上一篇下一篇忘了参考哪篇文章了,下面是我的代码

template.php

PHP 代码:
    function previous_node($node$previous_node_text=NULL$prepend_text=NULL$append_text=NULL)
    {  

        
$query db_rewrite_sql("SELECT nid, title FROM {node} WHERE created < '%s' AND status=1 and promote=1 AND type='%s' ORDER BY created DESC LIMIT 1""node""nid");
       
        
$result db_query($query$node->created$node->type);

       
$previous_node db_fetch_object($result);

        if(!
$previous_node_text// If previous_node_text is not specified then use the previous node's title as the text for the link.
        
{
            
$previous_node_text $previous_node->title;      
        }
      
        if(
$previous_node->nid!=NULL)
        {
            return 
$prepend_text.l($previous_node_text'node/'.$previous_node->nid, array('title'=>'上一篇 "'.$previous_node_text.'"''class'=>'goto-previous-node')).$append_text;
        }
        else 
// This node does not have a previous node...
        
{
            return 
NULL;
        }
    } 
node.tpl.php

PHP 代码:
<?php
        
if($page!=0)
        {
            
$previous_node_link previous_node($nodeNULL'&lt;&lt; 'NULL);
            
$next_node_link next_node($nodeNULLNULL' &gt;&gt;');   
           
            print 
'<div class="previous-next-links">';
            if(
$previous_node_link && $next_node_link)
            {
                print 
$previous_node_link.' | '.$next_node_link;
            }
            else if(
$previous_node_link)
            {
                print 
$previous_node_link;
            }
            else if(
$next_node_link)
            {
                print 
$next_node_link;
            }
            print 
'</div>';
        }
        
?>
老鬼 当前离线   回复时引用此帖
旧 2007-11-28, 15:58   #5 (页面定位)
自由的风
一般站友
 
注册日期: 2007-11-05
帖子: 23
自由的风 是普普通通的会员
默认

引用:
function previous_node($node, $previous_node_text=NULL,$button_type, $prepend_text=NULL, $append_text=NULL) //显示上下页
{
switch ($button_type) {
case 'next':
$sort= 'DESC';
$case = '< ';
break;
case 'prev':
$sort = 'ASC';
$case = '> ';
break;
default:
return NULL;
break;
}
$query = db_rewrite_sql("SELECT nid, title FROM {node} WHERE created ".$case." '%s' AND status=1 and promote=1 AND type='%s' ORDER BY created ".$sort." LIMIT 1", "node", "nid");
$result = db_query($query, $node->created, $node->type);
$previous_node = db_fetch_object($result);
if(!$previous_node_text) // If previous_node_text is not specified then use the previous node's title as the text for the link.
{
$previous_node_text = $previous_node->title;
}
if($previous_node->nid!=NULL)
{
return $prepend_text.l($previous_node_text, 'node/'.$previous_node->nid, array('title'=>''.$previous_node_text.'', 'class'=>'goto-previous-node')).$append_text;
}
else // This node does not have a previous node...
{
return NULL;
}
}
改动了一下,可以不必写两个函数了,呵呵
$previous_node_link = previous_node($node, NULL,'prev', '&lt;&lt; ', NULL);
$next_node_link = previous_node($node, NULL,'next', NULL,'&gt;&gt; ');
自由的风 当前离线   回复时引用此帖
旧 2007-11-28, 15:59   #6 (页面定位)
自由的风
一般站友
 
注册日期: 2007-11-05
帖子: 23
自由的风 是普普通通的会员
默认

这个代码顺便把第二个问题
引用:
2.那个文章的上一页下一页显示出现了问题,只要 添加了 tag,就不能正确显示
给解决了
只是不能分类显示上下页
自由的风 当前离线   回复时引用此帖
旧 2007-11-28, 22:47   #7 (页面定位)
自由的风
一般站友
 
注册日期: 2007-11-05
帖子: 23
自由的风 是普普通通的会员
默认

http://www.sgzhu.com/?q=node/366
写了个总结,有兴趣的看看,呵呵~

那个添加引用或者代码,有没有比较好的推荐啊?^_^
自由的风 当前离线   回复时引用此帖
旧 2007-12-20, 16:40   #8 (页面定位)
geniusy
青铜长老
 
geniusy 的头像
 
注册日期: 2007-11-21
帖子: 321
geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人
默认

其实文章分类显示可以用View,里面可以指定要显示的分类


我的博客:www.geniusy.com,博客又换到WP了,大家多去转转啊;
geniusy 当前离线   回复时引用此帖
旧 2007-12-20, 20:04   #9 (页面定位)
自由的风
一般站友
 
注册日期: 2007-11-05
帖子: 23
自由的风 是普普通通的会员
默认

能用最简单的方法实现就不要装模块,怕偶的破站跑不起啊~
自由的风 当前离线   回复时引用此帖
旧 2007-12-20, 23:49   #10 (页面定位)
geniusy
青铜长老
 
geniusy 的头像
 
注册日期: 2007-11-21
帖子: 321
geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人geniusy 是一个将要出名的人
默认

还有一种方法,是通过taxonomy_get_tree函数实现的。与直接操作数据库有一个好处就是这种方法和view那种的数据都是经过缓存的,可以缓解数据库的压力。


我的博客:www.geniusy.com,博客又换到WP了,大家多去转转啊;
geniusy 当前离线   回复时引用此帖
回复

书签

标签

主题工具
显示模式 对此主题评分
对此主题评分:



所有时间均为北京时间。现在的时间是 09:28