2012-04-13 5 views
1

보기 모드와 내용 유형에 따라 주어진 노드에 선택적으로 CSS 또는 JS를 추가하는 방법을 찾은 후에 여기에 왔습니다. 이 질문은 여기에서 매우 간단하게 대답합니다 (http://stackoverflow.com/questions/8295498/how-to-add-css-and-js-files-on-node-pages-independent-of-the-theme).드루팔 (Drupal 7의 특정 내용 유형에서 CSS와 JS를 제거하는 방법

이제 모든 것을 지우고 싶습니다. 원하는 CSS와 JS를 표시하는 방법을 찾고 있지만 뿐이며 다른 JS와 CSS는 없습니다. Impress.js를 통합하려고하는데 (그리고 사용 가능한 솔루션이 마음에 들지 않습니다.) 두 스크립트가 제대로로드되었지만 최신 Firefox 및 Chromium 브라우저에서 모두 "이전 브라우저"메시지를 표시하므로 Jquery와 충돌하는 것 같습니다.

CSS와 JS를 사용하지 않으려면 모든 CSS와 JS를 설정 해제하는 방법에 대한 아이디어가 실제로 활성화되어 있습니까?

감사합니다.

$mycss = $vars['styles']; 

unset($micss[drupal_get_path('module','system') .'/system.base.css']); 

... 

unset($micss[drupal_get_path('module','toolbar') .'/toolbar.css']); 

$vars['styles'] = $mycss; 

(나는 내가 제거 할 다른 CSS를 많이 추가,하지만이 아이디어를 설명) :

나는 아무 성공 다음을 시도했습니다. 그래도 작동하지 않았습니다 :)

편집. 나쁜 마크 업으로 유감입니다. 코드를 정리/마크 할 방법을 찾고 있습니다. 사용자 정의 모듈 사용에

+0

프로그래밍을? – jantimon

+0

프로그래밍 방식으로 완료되면 코드를 추가하여 범용 모듈을 만들면 좋을 것입니다. 빠른 해결책을 얻으려면 무엇이든 괜찮습니다. – versvs

답변

2

:

function yourmodule_js_alter(&$js) { 
    unset(
     $js['misc/drupal.js'], 
     $js['misc/jquery.js'] 
     .... etc. 
    ); 
} 

당신은 당신이 특정 콘텐츠 형식에 대해이 작업을 수행하고 싶은 말은, 그래서 시도 :

if(arg(0) == 'node') { 
    $node = node_load(arg(1)); 
    if($node->type == 'your_content_type') { 
     unset(
      $js['misc/drupal.js'], 
      $js['misc/jquery.js'] 
      .... etc. 
     ); 
    } 
} 

조니

+0

내 문제는 지속되지만 (jquery와 인상적인 관계가없는 것처럼 보입니다.), 제 질문에 올바르게 대답했습니다. 되돌아 보면, 그것은 무엇을 해야할지 꽤 아름다웠다. 단지 찾는 올바른 갈고리를 아는 것 :) 감사합니다! – versvs

관련 문제