2011-03-09 3 views
0

내가 my Drupal 7 installation의 첫 페이지에서 플래시 게임을 표시하기 위해 내 사용자 지정 블록을 사용하여 메시지를 숨길 드루팔 7에 사용자 지정 CSS를 추가,하지만 성가신 메시지도있다 : 그것은 내가 할 수있는 아래

<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를 추가하기위한 고리가 있습니까? 제 모듈에서 # 처음으로을 연회색 또는 보이지 않게 만들고 싶습니다.

나는 그 텍스트를 없애기 위해 빈 콘텐츠를 추가하지 않는 것을 선호합니다.

감사합니다. 알렉스

업데이트 : 나는 내 모듈에 다음을 추가 한

:

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 :

아, 캐시를 취소했고 지금은 작동 (드루팔 문서가 여기에 잘못된 것 같다 - '인라인'CSS 캐시되지 않도록이 작성되었습니다 ...)

답변

3

CSS를 숨기는 것은 잘못된 방법입니다. 맞춤 블록으로 콘텐츠를 만든 이유는 무엇입니까?

  • 당신은 "페이지"를 작성하고 구성 -> 사이트 정보에 첫 페이지이 페이지를 설정해야합니다.

뭐든간에. 이러한 옵션 중 하나를 사용할 수도 있지만 은 권장되지 않습니다..

  • 당신은 또한
  • 당신은 /templates/themes/bartik.info
  • 에 CSS를 추가 할 수 있습니다 (page.tpl.php에 PHP에 숨어 후)에만 제목을 추가하여 BlankPage을 추가 할 수 있습니다
  • 사용자 정의 모듈의 _init() 훅에서 drupal_add_css를 호출 할 수 있습니다.

블록은 모든 페이지에 정보를 표시하는 데 사용됩니다 (특정 페이지에만 표시하도록 설정할 수 있음에도 불구하고). 예를 들어 말해봐. 메뉴 또는 장바구니 등

+0

좋습니다, 좋은 지적입니다. 내 플래시 게임을 삽입 할 페이지 (노드?)를 만들기 위해 어떤 훅을 덮어 써야합니까? 가능하다면 Hello-World 페이지에 몇 줄의 코드를 작성하십시오. –

+0

@Alexander Farber : 왜 플래시 게임을 퍼가려면 훅을 써야할까요? body의 "Text Format"을 "Full html"로 설정하면됩니다. 페이지 (소위 노드)에 html 태그를 삽입 할 수 있습니다. – Mahesh

+0

아니요, 사용자 ID, 아바타, 성별 및 도시를 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 테마의 Administration 메뉴에서 찾을 수 없습니다. –

+0

@AlexanderFarber 테마에서 직접 css 파일을 편집해야합니다. 테마를 배치 할 때마다 (예 :/themes/디렉토리 또는/sites/all/themes /) – tog22