1. ホーム
  2. php

[解決済み] drupal_add_cssが動作しない

2022-02-07 10:56:25

質問

を使用する必要があります。 drupal_add_css を使用して、Drupal 6の単一ページにスタイルシートを呼び出しています。完全に新しいスタイルを必要とする個々のページが存在するため、メインテーマのスタイルシートを編集したくありません。

私の解決策は、PHPエディタモードでページを編集し、これを行うことでした。

<?php 
drupal_add_css("/styles/file1.css", "theme");
?>

<div id="newPageContent">stuff here in html</div>

しかし、ソースを表示すると何もないのです! CSSのリンク切れでも何でもなく、ページヘッドに置かれたCSSパッケージにCSSシートを追加することを拒否しているだけです。

バリエーションも効かないようです。

drupal_add_css($path = '/styles/file1.css', $type = 'module', $media = 'all', $preprocess = TRUE)

私のテンプレートヘッダーはこのようになっています。カスタムJavaScriptを追加した以外は、デフォルトから何も変更していません。

<head>
    <?php print $head ?>
    <title><?php print $head_title ?></title>
    <?php print $styles ?>
    <?php print $scripts ?>
    <script type="text/javascript" src="<?php print base_path() ?>misc/askme.js"></script>    
    <!--[if lt IE 7]>
      <?php print phptemplate_get_ie_styles(); ?>
    <![endif]-->
</head>

この機能はなぜ動作しないのですか?

どうすればいいですか?

答えは、非常に CSS インジェクター モジュール - 素晴らしい小さなアドオン!

以下は、そのプロジェクトページからの抜粋です。

<ブロッククオート

管理者が設定可能なルールに基づいて、ページの出力にCSSを注入することを可能にします。サイトの公式テーマを変更せずに、簡単なCSSの調整を追加するのに便利です。CSSはDrupalの標準的なdrupal_add_css()関数を使って追加され、ページキャッシングなどを尊重します。2.xではCToolsを利用しているので、CSSを機能変更に含めることができます(例えば、ビューの見た目を良くするCSSはビューと一緒にパッケージ化することができます)。