您在這裡

樣版使用問題

樣版使用問題,如果想要製作一個無任何區塊的頁面,純單一頁面的話,要怎麼實作來達到…
因為我只找到找修改節點頁面,但修改了這頁面仍還是有上下左右區塊…

node-test(內容類型).tpl.php -->這是節點頁面…
也試過新增一個page-test(內容類型).tpl.php 但似也無效果…

附加檔案大小
Image icon x.PNG306.94 KB

hom:
原來如此~嗯~>w<謝謝你的解說
後來就實作
就去裝上Pathauto模組和啟用Path 模組,將page的頁面別名改為test (http://www.yoursite.com/test/*)
也將page-test.tpl.php輸出的區塊砍一砍,清除效能中的快取
但還是沒效果說…砍掉的區塊還是在…

然後有使用區塊去指定test這頁"在下列頁面之外的所有網頁裡,顯示此區塊。"左、右、下這樣的作法是ok
但banner上面的區塊仍無法弄不見…

不知我這樣的作法是不是對的

讓父母安心的孩子才有福 (靜思語錄)

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

sorry
剛剛查了一下
page-test.tpl.php 必須是原始路徑
而非 alias,所以 page-node-[nid].tpl.php 樣板應該就會生效了
只是這不符合針對某一內容類型做處理的需求

在 page.tpl.php 的第一行之前插入
<?php
if ($node->type == "test" && arg(2) != "edit") {
print($content);
return;
}
?>

就只會輸出 $content 而沒有 page layout

如果想保留除了所有 block 之外的 layout
可以拆成兩個樣板檔案,在 page.tpl.php 內判斷載入哪個樣板
<?php
if ($node && $node->type == 'test') {
include_once(path_to_theme().'/page-test.tpl.php');
}else{
include_once(path_to_theme().'/page-page.tpl.php');
}
?>

另外提醒一下
即便樣版檔內沒輸出 block 的內容,依然會產生出來,造成效能上的浪費
所以在區塊設定那邊最好還是要調整顯示設定

在 theme 的 template.php 加上 function yourtheme_preprocess_page(&$vars, $hook), 内容如下
function yourtheme_preprocess_page(&$vars, $hook) {
if (arg(0) == 'node') {
$vars['template_files'][] = 'page-' . $vars['node']->type;
}
}

這樣 page-test.tpl.php 就對所有的 test content type 有效。不需另外在 page.tpl.php 裏面做判斷

如果test content type 的 layout 和其它page都不同, 可以在page-test.tpl.php body tag (or other places)的地方,加上一個id. 以便修改css. 不要的div, 像banner, block等,刪掉就好了。