樣版使用問題,如果想要製作一個無任何區塊的頁面,純單一頁面的話,要怎麼實作來達到… 因為我只找到找修改節點頁面,但修改了這頁面仍還是有上下左右區塊… node-test(內容類型).tpl.php -->這是節點頁面… 也試過新增一個page-test(內容類型).tpl.php 但似也無效果… 附加檔案大小 x.PNG306.94 KB 版型/Themes6.x 發表回應前,請先登入或註冊 Re: 樣版使用問題 page-test(內容類型).tpl.php test 並不是內容類型 而是第一層路徑為test (http://www.yoursite.com/test/*) 新增一個 test 開頭的 alias 應該就會套用 page-test.tpl.php 樣板了 剩下的就是把 page-test.tpl.php 裡面輸出區塊的部份砍光即可 發表回應前,請先登入或註冊 Re: 樣版使用問題 hom: 原來如此~嗯~>w<謝謝你的解說 後來就實作 就去裝上Pathauto模組和啟用Path 模組,將page的頁面別名改為test (http://www.yoursite.com/test/*) 也將page-test.tpl.php輸出的區塊砍一砍,清除效能中的快取 但還是沒效果說…砍掉的區塊還是在… 然後有使用區塊去指定test這頁"在下列頁面之外的所有網頁裡,顯示此區塊。"左、右、下這樣的作法是ok 但banner上面的區塊仍無法弄不見… 不知我這樣的作法是不是對的 讓父母安心的孩子才有福 (靜思語錄) 發表回應前,請先登入或註冊 Re: 樣版使用問題 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 的內容,依然會產生出來,造成效能上的浪費 所以在區塊設定那邊最好還是要調整顯示設定 發表回應前,請先登入或註冊 Re: 樣版使用問題 在 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等,刪掉就好了。 發表回應前,請先登入或註冊
Re: 樣版使用問題 page-test(內容類型).tpl.php test 並不是內容類型 而是第一層路徑為test (http://www.yoursite.com/test/*) 新增一個 test 開頭的 alias 應該就會套用 page-test.tpl.php 樣板了 剩下的就是把 page-test.tpl.php 裡面輸出區塊的部份砍光即可 發表回應前,請先登入或註冊
Re: 樣版使用問題 hom: 原來如此~嗯~>w<謝謝你的解說 後來就實作 就去裝上Pathauto模組和啟用Path 模組,將page的頁面別名改為test (http://www.yoursite.com/test/*) 也將page-test.tpl.php輸出的區塊砍一砍,清除效能中的快取 但還是沒效果說…砍掉的區塊還是在… 然後有使用區塊去指定test這頁"在下列頁面之外的所有網頁裡,顯示此區塊。"左、右、下這樣的作法是ok 但banner上面的區塊仍無法弄不見… 不知我這樣的作法是不是對的 讓父母安心的孩子才有福 (靜思語錄) 發表回應前,請先登入或註冊
Re: 樣版使用問題 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 的內容,依然會產生出來,造成效能上的浪費 所以在區塊設定那邊最好還是要調整顯示設定 發表回應前,請先登入或註冊
Re: 樣版使用問題 在 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等,刪掉就好了。 發表回應前,請先登入或註冊
Re: 樣版使用問題
page-test(內容類型).tpl.php
test 並不是內容類型
而是第一層路徑為test (http://www.yoursite.com/test/*)
新增一個 test 開頭的 alias 應該就會套用 page-test.tpl.php 樣板了
剩下的就是把 page-test.tpl.php 裡面輸出區塊的部份砍光即可
Re: 樣版使用問題
hom:
原來如此~嗯~>w<謝謝你的解說
後來就實作
就去裝上Pathauto模組和啟用Path 模組,將page的頁面別名改為test (http://www.yoursite.com/test/*)
也將page-test.tpl.php輸出的區塊砍一砍,清除效能中的快取
但還是沒效果說…砍掉的區塊還是在…
然後有使用區塊去指定test這頁"在下列頁面之外的所有網頁裡,顯示此區塊。"左、右、下這樣的作法是ok
但banner上面的區塊仍無法弄不見…
不知我這樣的作法是不是對的
讓父母安心的孩子才有福 (靜思語錄)
Re: 樣版使用問題
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 的內容,依然會產生出來,造成效能上的浪費
所以在區塊設定那邊最好還是要調整顯示設定
Re: 樣版使用問題
在 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等,刪掉就好了。