您在這裡

node與content type的疑問

ckflare's 的頭像
ckflare 在 2012-03-23 (週五) 13:07 發表

位好,我是新加入drupal的菜鳥,在閱讀官網文件和自行操作後,觀念有點被弄模糊了,還請各位指教。

1. node是content type嗎? 如果有一個頁面要同時呈現圖片和文字和檔案,是去設定一個content type,然後各一個文字field,圖片field,檔案field?
還是文字和圖片和檔案各設一個content type再組合起來?
在drupal中第二個方法是不是就是有3個node?

2.上述的兩個方法都可以作到嗎?哪一個是比較正統的作法,或者是比較好管理的作法?

3.如果是用前者的方式,field都是固定由上而下,可以作到下圖的排版嗎?

|............... |...................|
|............... |.......B.........|
|.....A....... |________|
|.............. |.................. |
| ...............|.......C.........|
|............... |...................|

4.如果是用後者的方式,是用views模組組合起來嗎?但是我看views的顯示方式也是由上而下,要如何作到以上的呈現方式?

用我的方式來解釋的話…
Drupal 是一個 CMS(Content Management System)︰內容管理系統
→ Drupal 所管理的內容(Content) 就是 node。每一個 node 代表「一個單位」的內容
→ 內容可以有很多種類,可以是單純的文章,也可以電子商店的商品,所以有不同的類型(type),就是 content type
→ 不同的內容類型有不同的部分,單純的文章只需要「標題」、「內容」就可以,而商品可能還多了「商品圖」、「售價」、「定價」…可以由使用者定義
→ 定義的方式可以藉助其它模組(最有名的當然就是「CCK」了),也可能是自行寫程式撰寫新的模組達成
→ 使用單一的 node 和將多個 node 拼起來,完全視實際案例的需要,沒有所謂的「是不是正統」。
→ 內容的呈現,可以靠版型來達成,甚至帶點 javascript 特效。有能力改或寫程式,就不會受限特定順序、樣式
→ views 似乎不具有客製化版型的能力…有沒有其它模組可以客製 node 呈現,就超出我所知的部分太多了

我只是一個撰碼員,靠寫程式過活。
自從 Drupal 在 4.7 版的時候知道他的存在,但是後來跳去其它程式語言很久沒回來。
變成 D5 比較熟,D6 知道一點,D7 還在學的狀況…

謝謝您的熱心回應,就您舉的例子,如果商品是一種內容類型,利用此類型建立的a,b,c商品就稱為node對嗎?

如果又將abc三者組合後呈現,我們仍可以稱其為node嗎?還是另有稱呼?

最後再請教附件中的頁面,看起來是分為左上,右上,下方共三塊,他看起來是一個頁面,但又不太像,這樣的頁面設定是在content type,還是block,還是版型的地方決定的?

感謝!

就底下沒看到的回應的部分回應…
一個單位的內容就是 node,但不一定是「文章」。
如果你要廣義的將「報名表」、「活動日誌」、「商品」都視為文章,當然也是可以啦~

a, b, c 的集合變成 node?這個問題視乎你要不要將之變成「可被儲存」的內容。
也許某個模組有實作「使用者追踪的商品」,那麼可能就有要將多個商品集合起來變成「新的內容類型」的需要。

那如果只是單純的像是「最新消息」、「熱門文章」… 這種會因為時間變動改變,不需要特意儲存的東東…
你需要的應該是篩選/搜尋功能,而不是建立新的內容類型,那就是 views 模組的強項。

你附圖的內容,應該是同一個 node 的資訊,因為是「不可分割」的。
至於排版,不是我的強項所以無法說明。但可以告訴你這是可以作得到的…

我只是一個撰碼員,靠寫程式過活。
自從 Drupal 在 4.7 版的時候知道他的存在,但是後來跳去其它程式語言很久沒回來。
變成 D5 比較熟,D6 知道一點,D7 還在學的狀況…

我簡單說明第一項和第二項哦~

node-->內容頁面,也就是使用者在看的內容
比如:你現在在看的頁面就是node內容頁面
content type-->內容頁面類型,可讓您自訂一個內容頁面的類型
比如:你要設計一個頁面有需要它有許多的欄位就是使用content type+cck模組去自訂

而本身如果您有去啟用Wysiwyg+TinyMCE+IMCE+IMCE Wysiwyg API bridge相關模組,就已經可以於頁面中有一個編輯器,這樣建立內容(node)時就可以有圖片效果,本身沒加裝模組時,建立內容的node就已經可以輸入文字了

關於檔案的部份drupal本身就有讓使用者可以上傳並附加檔案到內容裡的模組,但預設是沒啟用的,你要到模組去啟用Upload

然後第三和第四項不太理解?

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

謝謝大魔王的回應,請你幫我看這樣理解對不對,drupal安裝玩後有2個content type,分別是basic page & article,若我用basic page建立8個內容,article建立2個內容,這樣就是所謂的10個node,對嗎?

若我自建一個叫image的content type,然後以此建立內容,也是稱為一個node對嗎?

然後我第3,4的意思是將上述模組打開並編輯完成後,呈現內容順序都是由上而下

圖片
文字
檔案

有可以作到 圖片 文字 檔案

的排列方式嗎?

最後我安裝過Wysiwyg+TinyMCE 和 ckeditor 都出現奇怪的情況(我知道兩者擇一使用)

Wysiwyg+TinyMCE 編輯完儲存後,HTML語法全部出現在頁面上
有時選擇效果後,要取消居然變不回來(例如刪除線無法取消)

ckeditor 編輯頁面時,body欄位整個不見,無法編輯

這該如何解決

上述問題再請各位候教,謝謝!

1. 10個node -->沒錯
2.自建一個叫image的content type,然後以此建立內容,也是稱為一個node對嗎-->沒錯
3.關於內容呈現的部份有分兩個部份
1.若您是要單一頁面(node),也就是說這單一頁面(node)
它裡面包含了圖片、文字、檔案,而您想要將它的單一頁面的排列方式想要改變呈現方式?
2.若您是指您建立了一個content type它裡面有images、文字、file
並且透過它,你建立了10個node,而您希望它的這10各node的呈現方式
假如像我製作了http://cms.tzuchi.com.tw/speech/
我建立了一個演講content type,其中我裡面包含了images、標題、files,那我透過views的方式去做設定
4. HTML語法全部出現在頁面上 這裡的話,你先檢查一下輸入格式那的設定要設在full html
5.ckeditor 編輯頁面時,body欄位整個不見,無法編輯 ...我看一下我這裡的一下~
你是用什麼版型,預設的嘛?

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

然後有看到您的Screenshot-1.png圖示~中的畫面
你先切回編輯一下
然後看看一下內容下方有一個"輸入格式"看有無切到full html呢?

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

嗯~先把常見的單字列一下:
node:單指文章,一篇文章就是一個node
content typ:指文章的類型,可用文章的特性來區分不同的類別
field:指文章的欄位
body:文章的內容

而依照你的狀況,
圖檔、文字、檔案都是跟著某篇文章一起出現的,
所以他們算是field,
文字你可以直接使用body就好,
而圖檔跟檔案就是另外再新增兩個field。

排版的部分,
field預設都是從上往下放,
你可以試試以下幾種做法:
.panel模組應該可以重新排列
.用views抓出來時使用自訂樣式重新排版(配合css)
.直接調整node-[content typ].tpl.php的html格式(配合css)

我是神豬~神豬的神,神豬的豬.......

我裝了ckeditor,但是要插入圖片,出現“The file browser is disabled for security reasons. Please contact your system administrator and check the CKFinder configuration file.”

找了許多文章說要去ckfinder/config.php裡面把下列程式改掉
function CheckAuthentication()
{
if($_COOKIE['ck_authorized'] == 'true') {
return true;
} else {
return false;
}
}

但是我打開裡面都沒有這段,請問是哪裡弄錯了?

再加IMCE模組和IMCE Wysiwyg API bridge模組,然後於imce中進行權限設定
然後記得imce模組啟用後在Wysiwyg的Buttons and plugins中要將IMCE勾選

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