2011-03-09 65 views
0

我用我的自定義模塊,用於在my Drupal 7 installation頭版顯示Flash遊戲,但也有惱人的消息:添加自定義CSS來Drupal 7的隱藏信息

<div id="first-time"><p>No front page content has been created yet.</p> 
<div class="item-list"><ul><li class="first last"> 
<a href="/node/add">Add new content</a></li> 
</ul></div></div> 

低於它,我可以不要刪除它。有請添加自定義CSS鉤嗎?在我的模塊中,我想使#第一次淺灰或不可見。

我不想添加空白內容來擺脫那些文本。

謝謝! 亞歷

UPDATE:

我已經添加了以下到我的模塊:

function game_init() { 
    drupal_set_message('XXX init called XXX'); 
    if (drupal_is_front_page()) { 
    drupal_add_css('#first-time {color: green;}', 'inline'); 
    } 
} 

卻看不到裏面我的頭版是CSS代碼或XXX的字符串。

UPDATE2

哦,我不得不清除緩存和現在的作品(Drupal的文檔似乎是錯在這裏 - 那裏被寫了「內聯」 CSS不被緩存...)

回答

3

隱藏CSS是錯誤的做法。爲什麼你將自己的內容創建爲自定義塊

  • 你應該創建一個「」,並設置該頁面頭版的配置 - >網站參閱。

無論如何。您也可以使用這些選項中的任何一種,但不建議使用

  • 你也可以通過同樣只添加標題(當時藏匿在PHP上page.tpl.php中)
  • 您可以在/templates/themes/bartik.info
  • 添加你的CSS添加BlankPage
  • 您可以在自定義模塊的_init()鉤子上調用drupal_add_css。

塊用於顯示每個頁面中的信息(雖然我們可以設置爲僅在某些頁面上顯示)。舉例說。菜單或購物車等。

+0

好的,這是一個很好的觀點。我應該覆蓋哪個鉤子來創建一個嵌入我的Flash遊戲的頁面(一個節點?)?如果可能的話,請爲Hello-World頁面寫幾行代碼 –

+0

@Alexander Farber:爲什麼你需要編寫一個鉤子來嵌入你的Flash遊戲?如果你將你的「文本格式」設置爲「完整的HTML」。你可以在頁面中嵌入任何html標籤(所謂的節點)。 – Mahesh

+0

不,我需要鉤子,因爲我通過FlashVars參數將用戶標識,頭像,性別和城市傳遞給我的遊戲的.swf文件。所以我寫了一個game_block_view()來做到這一點。但是一個節點在這裏可能更好? –

1

如果你想添加一些CSS的模塊,你應該使用drupal_add_css()

+0

所以我必須調用drupal_add_css('#first-time {color:white;}','inline');但從哪裏?從我的game_block_view(); ? –

+1

添加CSS的一個好方法是在[hook_init()](http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_init/7)中實現你的模塊,並把drupal_add_inside()裏面。 – Haza

+0

由於某種原因,我的game_init()沒有被調用,但是game_block_view(),game_block_info()和game_user_login()被稱爲ok。我是否需要清除緩存或其他內容? –

0

爲什麼不能這樣簡單的CSS添加到您的主題?

+0

謝謝,但是哪裏?無法在Bartik主題的管理菜單中找到它 –

+0

@AlexanderFarber您必須直接編輯主題中的css文件 - 無論您放置主題(即在/ themes /目錄或/網站/所有/主題/) – tog22