2014-02-06 452 views
0

我需要你的幫助,看似幼稚但我無法解決的問題。Drupal:塊沒有顯示在特定的內容類型頁面

我想激活塊(即已經被激活其他內容類型的網頁和工作得很好),以顯示它的一個新的內容類型。我剛剛在admin-> structure-> block-> configure->中查看了該特定內容類型的可見性參數中的框,就像我爲其他人做的那樣。但是,它並沒有顯示出來。

這裏是一個screenshot塊參數配置(你永遠不知道^^)。

該地塊位於sidebar_second region。所以我檢查了dpm()這個區域是否設置了兩種內容類型。

Here我可以看到,它實際上是爲我的內容類型basic page設置的,其中塊顯示出良好

但是here我看到我的區域不存在在所有,從而我的塊不會出現。

我創建了一個新的試塊和位於它sidebar_second地區以及以確定問題是特定塊本身或內容類型頁......顯然,我想這是因爲它的第二個解決方案也沒有出現。

而且,我試圖找到塊到sidebar_first區域(即已經存在content-type testimonial)。不幸的是,它也不工作。當然,它的工作原理以及在content-type basic page ...

爲了確保頁面的代碼是不是在我testimonial.module或模板重寫,我兩次檢查我實現了鉤,我所有的模板文件...我沒有發現可能導致這個問題的東西。

最後,我一派我的問題,發現錯誤報告(因爲封閉不能轉載):https://drupal.org/node/1777072,但我認爲,這將是因爲它發生很倒黴...

要選擇,這肯定是一個錯誤,我沒有看到,而是發生在世界上10個人的極罕見的錯誤xD

這就是爲什麼我需要你的幫助,'stackoverflow的人!

回答

0

我只是想讓你知道,我看着辦吧。

的確,我的函數hook_node_view()實現了menu_set_active_item("testimonial")來解決導航細節(強制突出顯示菜單項......)。然而,修改q變量在URL和的Drupal沒有了該網頁實際上是節點類型見證(並認爲這實際上是一個視圖)知道。

因此,我的塊不能出現,因爲它應該顯示在節點類型的褒獎(而不是在視圖上)。

所以,我不得不保存我的網頁的真正本質在一個變量使用menu_get_active_trail()實施menu_set_active_item()之前。

最後,我不得不通過我的hook_block_view()這個變量來顯示該塊。

我是對不起因爲沒有給你所有必要的信息來回答我的問題。我認爲自定義代碼不是很可疑,但我錯了。我仍然是一名初級Drupal開發人員,我不知道menu_set_active_item()方法的確做了。不過謝謝你,祝你週末愉快!

0

我的第一個,雖然它的告別賽內容類型可以使用不同的頁面模板到基本頁面內容類型。

您需要行:

<?php echo render($page['sidebar_first']); ?> 

在由告別賽使用的頁面模板。

嗯,其實我一點兒也不相信這是正確的解決方案,但我會後萬一它可以幫助...

相關問題