drupal 6.x theming 問題

站的內容初步完成了一半,正開始在給站作theming

其中有幾個不同node 的background 會有幅不同的background image

比如
node/10

那麼我抄node.tpl.php 修改為 node-10.tpl.php 但不生效

但如果是抄page.tpl.php 修改為 page-node-10.tpl.php

請問這是正常的嗎???

page.tpl.php 是包括了整個站的layout, 萬一要修改layout, 其他page-node-*.tpl.php 都要重新修改???

hom 的照片

Re: drupal 6.x theming 問題

改為在 node.tpl.php 裡面判斷 $node->nid == 10 的時候輸出不同的顯示

adrianmak 的照片

Re: drupal 6.x theming 問題

哦~~~~~~~~原來node 的theming 不支援這種 node-[nid]-tpl.php 的

再想問問, 因為個站是多語言的, 英文和中文文,像第一貼所講不同node 會有不同的background image

那麼同一個node 的不同語言豈不是要重複 用$node->nid == XX來判斷???
比如

某個content 英文的是 node/10, 中文是 node/11
那就要同時判斷 if (($node->nid == 10) or ($node->nid == 11)) { // html code }

對吧??!!!!

hom 的照片

Re: drupal 6.x theming 問題

似乎只有支援 node-[type].tpl.php

另外
如果有很多個 node 需要作判斷
我會把 node.tpl.php 或 node-[type].tpl.php 當作用來 include 的檔案

<?php
   
switch($node->nid){
        case
10:
        case
11:
?>

<?php include 'node_10-11.tpl.php';?>
<?php
           
break;
        case
12:
        case
13:
?>

<?php include 'node_12-13.tpl.php';?>
<?php
           
break;
        default:
?>

<?php include 'node_default.tpl.php';?>
<?php
   
}
?>

jimmy 的照片

Re: drupal 6.x theming 問題

詳看themes/engine/phptemplate/phptemplate.engine
page的部份在這兒

  // Build a list of suggested template files in order of specificity. One
  // suggestion is made for every element of the current path, though
  // numeric elements are not carried to subsequent suggestions. For example,
  // http://www.example.com/node/1/edit would result in the following
  // suggestions:
  //
  // page-node-edit.tpl.php
  // page-node-1.tpl.php
  // page-node.tpl.php
  // page.tpl.php

node的部份在這兒

return _phptemplate_callback('node', $variables, array('node-' . $node->type));

--
from open mind to open source~

hom 的照片

Re:

_phptemplate_callback() 這個 function 我在 5.x 的 theme 裡面常用
但是在 6.x 的API 查詢裡面找不到這個函式了

之前去搜尋了一下
看到這篇
http://drupal.org/node/223430

另外還有
phptemplate_theme 這個 function 的資料
http://api.drupal.org/api/function/phptemplate_theme/6

看起來6.x下面應該得改用新的方法
但是還沒時間仔細研究
不是很清楚這一長串的新 function 要怎麼用

adrianmak 的照片

Re:

請問 drupal 規管的node.tpl.php 是firebug shaded area ?

這個area以外的空間是page.tpl.php 嗎??

hom 的照片

Re: drupal 6.x theming 問題

那部份不在 node 內
沒有所屬的區域
自然是落到最後的 page.tpl.php