2012-01-05 173 views
3

我想在Drupal中添加自定義字段到塊?我有一個橫跨頁面整個寬度的標題區域。下面是各個區塊的正文內容左側欄和右側欄。標題區域需要有一個背景圖像,並在其上面顯示文本。希望通過自定義字段的塊爲背景圖像和文本做到這一點。如何在Drupal 7中添加自定義字段到塊?

+0

當你創建一個塊,你可以選擇你想要的字段。你是否在引用如何以自定義的方式呈現這些字段? 否則,Drupal已經讓你做到了。 – Deleteman 2012-01-05 16:48:03

+0

@Deleteman:你可能在想的內容類型,塊不能重視他們 – Clive 2012-01-05 17:31:03

+0

接下來的時間字段,請考慮在drupal.stackexchange.com發佈Drupal的問題。 – gogowitsch 2013-06-30 09:42:30

回答

1

您可以使用Views模塊,Fields和blocks來實現這一點。

  1. 創建一個名爲背景圖像的上傳圖片領域,你想顯示
  2. 使用視圖創建一個顯示爲模塊的圖任何其他領域的內容類型。不過,您可以將字段設置爲重寫。
  3. 使用您的視圖設置,將您的背景圖像顯示爲路徑而不是圖像。

例如,你可以建立這樣的使用現場更換的觀點:

<div style="background: [field_image] left top no-repeat"> 
<h2>[title]</h2> 
<p>[field_whatever]</p> 
</div> 

好像有點大材小用,但它會得到它在客戶手中。您還需要執行一些限制,以便僅使用特定的節點ID,以便它們不會創建一百萬個背景圖像節點並破壞網站。希望這可以幫助。

0

您只能將字段附加到實體,因爲塊不是實體我恐怕不能解決您的字段問題。

最好的辦法是將塊的內容設置爲要顯示的文本,然後使用CSS來定位包含div並將背景圖像放在上面。

另外,只需將塊內容的過濾器更改爲「完整HTML」,然後將樣式內聯編寫,例如。

<div style="background:url(some/path)">Block content here</div> 
+0

是的,我可以把HTML這樣的,但我需要這個可編輯的人不知道HTML。 – Dustin 2012-01-05 18:05:26

+0

你可能必須寫一個自定義模塊,我不知道這樣做的任何現有模塊(這並不是說沒有人會想到) – Clive 2012-01-05 18:29:36

0

您可以嘗試使用Node Blocks來定義將自動創建塊的內容類型。然後,用一點CSS就可以做你想做的事情。

4

更好的方法是使用hook_block_info()hook_pages_block_view()在代碼中創建自定義塊。然後通過hook_block_configure()添加附加字段。

使用form api,你可以添加任何你想要的字段。

+0

是的,但添加表單元素僅僅是部分工作。您還需要處理輸入的數據在hook_block_save的存儲,這是比較容易的,如果你寫一個字符串變量表,但是當你在處理圖像變得更加複雜。 – marcvangend 2013-06-20 12:33:23

1

我這樣做的方式(我知道其他幾個人也是這麼做的)就是製作一個內容類型的「塊內容」。在那裏你可以創建任意數量的字段。

然後,您在node-type中創建一個node-reference - 字段,您將在其中顯示塊(mynodetype)的位置。

然後,您製作一個views - 塊:即「自定義塊」,您可以在其中指定關係 - 上下文。大多這個上下文將是這樣的:其通過參考場中的「mynodetype」引用:(嵌段含量NODETYPE)的節點的顯示領域。

我發現這是一個非常乾淨的解決方案和它的作品好,因爲你只有一個街區,其顯示在需要的時候,一個內容仍處於節點和不污染塊管理頁面。

相關問題