2011-08-16 118 views

回答

1

默認情況下,空字段的標籤是隱藏的,也許在字段中仍然存在「不間斷空間」或其他剩餘空間? 您必須檢查發生問題的現有節點與不接觸特定字段的新節點之間的差異。

設置不必要的標籤顯示隱藏在NL /管理/結構/類型/管理/ selected_content_type /顯示

+0

我在看的時候字段的值是一個空字符串時出現的標籤。顯然這應該算作空的,但由於某種原因它不是。 – aaronbauman

+0

你可以用螢火蟲檢查元素,看看它是否真的是空的?有時,一個所見即所得的文本會添加一個空的段落,所以這個字段並不是真的空。 – JurgenR

+0

該值絕對是一個空字符串。我已經用螢火蟲,以及節點上的devel標籤和數據庫直接進行了檢查。 – aaronbauman

2

另一種方式,你可以做到這一點是通過使用將適用於該內容類型的所有節點的自定義模板文件。

確保node.tpl.php先存在於您的sites/all/themes/[mytheme]目錄中。該模板必須存在才能調用其他自定義模板。

複製node.tpl.php並將其命名爲node--[contenttype].tpl.php(不含括號)。

如果您啓用了Devel模塊,則可以將dpm($content);放入該文件中以找出您試圖隱藏的字段的名稱。或者你可以看看內容類型本身。

一旦你有字段的名稱,你現在可以在print render($content);語句之前插入此代碼:

if (empty($content['my_field'])) { 
    unset($content['my_field']); 
} 

清除緩存,以及是否有保存價值的領域纔會出現。

0

我想糾正第一個答案。在node.tpl.php我們應該檢查#markup而不是場陣:中

if (empty($content['field_vac_req'][0]['#markup'])) { 
    unset($content['field_vac_req']); 
} 

代替

if (empty($content['my_field'])) ... 
相關問題