您在這裡

關于Customising comments

在下 看過之前drupaler寫下 如何如何 Customising node ,比如Customising 的node類型为blog ,那麽只要添加一個node-blog.tpl.php 在主題底下便可,在下想Customising blog下的comments 不知道是否類似Customising node一樣,添加一個comment-blog.tpl.php 在主题底下便可??情指教,不勝感激。tks

请允许我 引用

function phptemplate_node($node, $teaser = 0, $page = 0) {
// 此处省略若干行……,注意下面的黑体部分
return _phptemplate_callback('node', $variables, 'node-' . $node->type);
}

再看同一文件中的phptemplate_comment函数(负责处理Comment页面模板文件的):

function phptemplate_comment($comment, $links = 0) {
return _phptemplate_callback('comment', array(
'author' => theme('username', $comment),
'comment' => $comment,
'content' => $comment->comment,
'date' => format_date($comment->timestamp),
'links' => isset($links) ? theme('links', $links) : '',
'new' => $comment->new ? t('new') : '',
'picture' => theme_get_setting('toggle_comment_user_picture') ? theme('user_picture', $comment) : '',
'submitted' => t('Submitted by %a on %b.',
array('%a' => theme('username', $comment),
'%b' => format_date($comment->timestamp))),
'title' => l($comment->subject, $_GET['q'], NULL, NULL, "comment-$comment->cid")
));
}

对比发现处理comment时return _phptemplate_callback的时候少了处理页面时所加的关于node类型的参数,其实只要加上黑体部分就支持在各模板中实现灵活的comment页面定义了——因为我们修改的是模板引擎。
例如可修改为:

function phptemplate_comment($comment, $links = 0) {
return _phptemplate_callback('comment', array(
'author' => theme('username', $comment),
'comment' => $comment,
'content' => $comment->comment,
'date' => format_date($comment->timestamp),
'links' => isset($links) ? theme('links', $links) : '',
'new' => $comment->new ? t('new') : '',
'picture' => theme_get_setting('toggle_comment_user_picture') ? theme('user_picture', $comment) : '',
'submitted' => t('Submitted by %a on %b.',
array('%a' => theme('username', $comment),
'%b' => format_date($comment->timestamp))),
'title' => l($comment->subject, $_GET['q'], NULL, NULL, "comment-$comment->cid")
), 'comment-' . $comment->node_type);
問題 是 如何通過 $comment來獲取node_type(node_type 不在$comment 的選項範圍)
}

##########
http://www.micfeng.com
新聞大聯播
#########