您在這裡

我想修改add content的版型

Seiken's 的頭像
Seiken 在 2010-06-19 (週六) 02:19 發表

我想修改新增文章時的版型,在image field預設的upload功能上加一些管理功能(資料夾分類、修改檔名、依特定格式產生縮圖等),但遍尋不著是由哪個檔案產生的。想請問這個模板是放在什麼地方;又,我有沒有辦法針對不同的content type寫不同的模板?

  因為我要改的東西有點多,所以image field的設定可能不敷使用。我要做的是有個檔案暫存區,檔案上傳上去都放在這裡,然後image field要從這個暫存區選取檔案,新增文章之後圖檔才會自動歸位到資料夾結構中。這能夠讓我一次上傳大量檔案而且不會在手忙腳亂中遺忘或產生多餘的檔案。我不知道這能不能從模板裡寫出來或者要用什麼module新增一種特殊的field type;如果有辦法寫成theme的話,我會需要一個範例(或者有人能夠提示一下尋找檔案來源的方法)。

  另一個部分我沒講清楚,其實我要問的是修改「新增不同content類型時編輯畫面的模板」;但想了一下發現或許在field上動手腳比較方便的樣子。

因為我要改的東西有點多,所以image field的設定可能不敷使用。我要做的是有個檔案暫存區,檔案上傳上去都放在這裡,然後image field要從這個暫存區選取檔案,新增文章之後圖檔才會自動歸位到資料夾結構中。

這個要求就不能用imagefield, 可改用 IMCE cck image. IMCE cck image 和imagefield 比較起來, 缺點是能用的display 方式比較少。 看你自己的 priority 來取捨了。

其實我要問的是修改「新增不同content類型時編輯畫面的模板」;但想了一下發現或許在field上動手腳比較方便的樣子。

如果你的edit node page 目前沒有使用太多其他modules (否則會有相容性的問題), 那可以試試 arrange fields.

我自己是比較喜歡用css修改。

這個要求就不能用imagefield, 可改用 IMCE cck image. IMCE cck image 和imagefield 比較起來, 缺點是能用的display 方式比較少。 看你自己的 priority 來取捨了。

感謝,IMCE的功能看起來好像適合(我image顯示的form是整個在theme裡重寫的所以沒差),先抓下來試試看。

我不太清楚你對檔案的用法是什麼,所以很難給出準確的建議。
如果你只是需要上傳圖檔插入到文章中,可以用 IMCE 來達成。
如果你是需要不特定數量的圖檔可以下載,只要把 image field 裡面的數量限制設成無限即可。

在我看來,產生多餘檔案並不是問題,問題在於每篇文章裡面連結的檔案是否有效,以及操作者是否能不去管檔案實際存在哪裡也可輕鬆編輯文章~

  我是要上傳並插入圖檔到文章中沒錯,但有時候會需要一次上傳大量檔案並且等有空時再一一處理;這可能造成自己忘記有哪些檔案處理過哪些檔案還沒處理過(想像你資料夾裡有30張圖而它們的檔名不見得有規則)。所以我打算做成下面這種格式:

File system:
[files]
  [upload] //所有上傳的檔案都會先到這裡來
    DSC00061.JPG
    cat.jpg
    sample1.jpg
  [gallery] //所有用到的檔案都依特定格式歸入檔案系統
    [taxonomy1]
      node23_img0001.jpg
      node23_img0001_thumb.jpg
    [taxonomy2]
      ...

  以上是我想達成的功能。當然這是可以手動進行的,或者也可以一張張改檔名上傳,上傳過的就把本機上的檔案拿走...這是我幾年來一直在做的事;現在我比較希望它能夠在編輯時自己執行。這會需要一個特殊的field,它:
1. 有一個list可以讓我選所有可使用的檔案、
2. 使用過的檔案能自動更名並移入檔案系統,圖檔也會自動產生縮圖。

  在theme裡這兩件事我是會寫的,但我不知道add content的form是哪裡生出來的或者要怎麼改出一個不存在的field類型。所以要請教板友這要從哪裡下手,或者是否有module可以達成類似的工作模式。

所以重點在於你不要忘記有未處理過的檔案即可。

那問題來了,為何你會忘記有未處理過的檔案?這是因為檔案可能被多篇文章所使用,你希望一次把所有的圖上傳後,再一篇篇文章做插入、連結。
不過我得說,就算有這種欄位,你也還是會忘記~

FileField Paths + Insert 模組可以減緩你的問題,代價是檔案重複的產生,以及編輯上的不直覺。

說實話,我其實不是很能理解為何會有未處理過的檔案?因為我一直都把每篇文章當成 Atom,我一次只專注編輯一篇文章。
我不在乎某張圖是否會被其他的文章所使用,我的想法是,用到時再插入就好。
尤其是人類常常喜歡任性的美感,同樣的圖,在不同文章中也要有不同的尺寸呈現~

如果只有很少數人在維護,這種情況我會用 IMCE 開個共用目錄放檔案。而其他的情況我會用上述的組合,當然我會 Patch 過 Insert 模組讓它產生相對網址。

  問題不是那樣。因為你一次只專注寫一篇文章,你的資料夾裡不會有幾十張還沒上傳的圖;但我不寫文章的時候也會生產圖,能夠寫的時候經常要面對很多檔案,它們大多數各對應一篇文章而且很少重複使用;也可以想像團隊裡拍樣本的人拿了幾十張圖來等著要上傳和寫稿。如果你可以馬上區分已使用和未使用的檔案,那麼「未使用的檔案」列表就是工作序列;如果不能,那麼記得自己工作到哪個部分、並且在堆積如山的檔案裡選取要上傳的檔案就是一件麻煩事。

  FileField Paths是適合的module,我正開始用它;另一個FileField Sources加上IMCE似乎可以解決插入已上傳檔案的問題,但因為它們還不支援Drupal 7我暫時無緣測試。或許前述的功能我可以從這幾個module裡面改出來。

  (經過討論,這篇文章一開始似乎是發錯板了,所以改了分類)

不管檔案在伺服器裡面還是在你自己的硬碟裡面,你都得做整理的動作不是嗎?
為何你不把這個整理的動作放到你的硬碟哩,而要放到伺服器上呢?
如果你的檔案上傳完後就砍了,完全依賴伺服器上的那份,我可以理解你希望系統能幫助你整理的需求,可是這跟一般人的做法相反。

一般的作法會把網站上的檔案當作一個備份來看,所以在做編輯時,會先把檔案先在自己的硬碟裡整理好,分門別類放在不同的目錄裡面。
現在的相片管理軟體很方便,可以幫你把這件事情處裡的很好,而且自由度也很大,操作也很簡單~

你所謂記得工作到哪個部分,跟整理檔案根本是兩回事,就算真的有你需要的那個模組,當你發現暫存資料夾的檔案的數量多到一個程度(比如說幾百個),有那個模組也沒用,你還是會花很多時間在搜尋下一個檔案在哪裡。

所以還是老實地先把檔案整理好,一篇一篇把文章寫完當作一個階段的完成會比較簡單一點。