どのようんだCSSスタイルシート?
-
22-09-2019 - |
質問
私達成。Iを利用する必要がDrupal6プロジェクトとして要求していきたいと思っていを利用できるようにするには、自分のHTMLおよびCSSスタイルシート各ノードのビューのパネル。
問題は、どのようなテーマに、いつもこのシステムを変更対象の私のHTMLコンテンツの両面においてCSSスタイルシート、CSSに関するテーマを選択します。もし、成功を使用し、stylestripperモジュール(イッセージ).何か追加のCSSスタイルシート適用した私のページを完全に破壊私のレイアウト。
何が正しい方法で達成。なぜstylestripperなのでしょうか?が完全に空白をテーマに利用できますか?しかし、mothership、禅など、なんで追加的にCSSスタイルシートを用マイページ。
こうしたなか、動きのさん、Drupalによって選ばれた他の誰かがその柔軟性です。よろしくお願いします。
解決
<?php
/**
* Helper function to allow easy CSS excludes + includes
*/
function _phptemplate_get_css($exclude = array(), $include = array()){
$css = drupal_add_css();
foreach ($css['all']['module'] as $k => $path) {
$file = substr($k, strrpos($k, '/') + 1);
if (in_array($file, $exclude)){
unset($css['all']['module'][$k]);
}
}
foreach ($include as $file){
$css['all']['theme'][path_to_theme() .'/'. $file] = true;
}
return drupal_get_css($css);
?>
読み取り drupal.org.
更新:
の適切な入力していただく部分にはすべてこの機能の template.php
ファイルのテーマです。実際にお客様に必要なパスの配列をcssファイル名を除外したい.
を呼び出 drupal_add_css()
引数のない渡され、 $css
配列をCSSファイルを添付することをテーマ。この時間!
以上、説明してきたように、最初の foreach
ループまでを求める $css
配列ファイル名であるが、渡された $exclude
配列は、スタイル削除します。いつの仕事のループスタイル挿入出来ます。とこまを返しテーマにした表現のスタイルを添付することにテーマを利用 drupal_get_css()
機能です。 (たぶん何もしていない場合)
でも、これはも機能しているのでしょうか。電話するのはこのヘルパー機能 _phptemplate_variables()
のためにはD5 YOUR_THEME_preprocess()
のためのD6.として出展参加しましたこの活動を行D6 (未審査):
function YOUR_THEME_preprocess(&$vars, $hook){
// Stylesheet filenames to be excluded.
$css_exclude_list = array(
'lightbox.css',
'lightbox_lite.css',
);
// Making use of previously defined helper function.
$vars['styles'] = _phptemplate_get_css($css_exclude_list);
}
久々に見たらついに電車が消え方を排除'em all;)
他のヒント
あなたのテーマでCSSおよび/またはJavaScriptファイルを定義する場合、ファイルは、あなたがそれらを上書きコアファイルに一致するファイル名を使用しての.infoだし、あなたのオーバーライドはその後、存在しない場合、彼らは含まれていない。
私はこれは動作しますしませんが、私はちょうどあなたのテーマのpage.tpl.phpに次の行を削除すると思います
<?php echo $styles ?>
、その後、Drupalの意志ではない任意の独自のスタイルの..
これはあなたのための仕事かもしれません。
NITZ