1

ビューモードとコンテンツタイプに基づいて、CSSまたはJSを特定のノードに選択的に追加する方法を探した後、ここに来ました。その質問はここで非常に簡単に答えられます(http://stackoverflow.com/questions/8295498/how-to-add-css-and-js-files-on-node-pages-independent-of-the-theme)。

今、私はすべてをクリアしたいと思います。私は自分の希望する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をたくさん追加しましたが、これはアイデアを説明しています)。しかし、それは機能しませんでした:)

編集。マークアップが悪いことをお詫びします。コードをクリーンアップ/マークする方法を探しています。

4

1 に答える 1

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.
        );
    }
}

ジョニー

于 2012-04-13T14:53:37.497 に答える