drupal_add_css nicht funktioniert
Ich drupal_add_css zu nennen stylesheets auf einzelne Drupal 6 Seiten. Ich will nicht zum Bearbeiten der main-theme-stylesheet als es aus einer Reihe von einzelnen Seiten, die alle brauchen komplett neue styles - die wichtigsten Blatt würde Massiv sein, wenn ich Sie alle da.
Meine Lösung war die Bearbeitung der Seite in PHP-editor-Modus-und tun dies:
<?php
drupal_add_css("/styles/file1.css", "theme");
?>
<div id="newPageContent">stuff here in html</div>
Aber wenn ich eine Quelle, es ist nichts da! Nicht einmal eine defekte CSS-link oder irgendetwas, es ist einfach nur die Weigerung zum hinzufügen von CSS-sheet die CSS-Paket in die Seite Kopf.
Variationen scheinen nicht zu funktionieren:
drupal_add_css($path = '/styles/file1.css', $type = 'module', $media = 'all', $preprocess = TRUE)
Mein template header sieht wie folgt aus, ich habe nichts geändert, von der Standard-andere als hinzufügen von benutzerdefinierten 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>
Warum ist diese Funktion nicht funktioniert?
- Wenn Sie nicht haben es zu arbeiten, haben Ihre caching-Einstellungen geändert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht ganz klar, wo Sie die Auswahl der Vorlage, die Sie in Ihrem Beispiel. Wenn Sie die Auswahl aus einem Modul, dann können Sie nur verwenden, drupal_add_css in das Modul eher als die Vorlage.
Wenn du dein eigenes Thema, das Sie verwenden können, template_preprocess_page und Logik hinzu, fügen Sie die entsprechenden CSS (Sie können es auch verwenden, um wählen Sie die Vorlage Sie verwenden).
drupal_add_css(path_to_theme(). "/css/page.css", "theme"); $vars['styles'] = drupal_get_css();
Habe ich bemerkt etwas seltsam, und es könnte dein problem lösen:
Die erste Arbeit ebcause der Stil der Haupt-Ihnen-Ordner
Die zweite Linie wird nicht funktionieren, denn der Stil ist in einem sub-Ordner !
Edit:
ich denke, es hat nicht funktioniert, weil ich nicht schreiben Sie den Pfad der style-Datei richtig :S so ignorieren Sie bitte meine Antwort
arbeitet
Diese Funktion nicht funktionieren in den templates. Der Grund ist, dass die variable $styles, die halten, alle die stylesheet-html wird bereits generiert wurden, an dieser Stelle, so drupal_add_css nicht funktionieren, wie es fügt hinzu, dass. wenn Sie dies tun wollen, in Ihr Thema, würden Sie wahrscheinlich haben, um fügen Sie die css-Datei manuell
Der andere Weg wäre, um drupal_add_css in einem Modul, aber haben Sie vielleicht eine harte Zeit hinzufügen die richtige css-Dateien auf die Seiten, die Sie wollen.
Ist es möglich mit drupal_add_css() in Ihren template.php Datei; auf dieser Seite ist ein gutes Beispiel dafür, wie genau das zu tun.
Antwort war sehr viel zu verwenden, die CSS-Injektor - Modul - great little addon!
Hier ein Auszug aus seiner Projekt-Seite:
Diesen code innerhalb template.php für mich funktioniert:
erklärt:
drupal_add_css erwartet wird ein Pfad relativ zum Basis-Pfad in der Erwägung, dass drupal_get_path nicht zurück, wird der Pfad relativ zum Basis-Pfad.
global $base_path;
drupal_add_css($base_path . drupal_get_path('module /theme','name') . "/styles/file1.css", "module /theme");
Können Sie wählen zwischen dem Modul und dem Thema entsprechend.
Danke für den link, wyrmmage. Das ist sehr nützlich. Ich denke, der rest des Codes in der Seite ist unnötig. Sie brauchen wahrscheinlich nur diese seit drupal 6 bereits automatisch prüfen, ob Datei vorhanden:
Versuchen, diese
common.inc drupal_get_css($css = NULL)
Parameter
$css: (optional) Ein array von CSS-Dateien. Wenn kein array angegeben ist, wird die default-stylesheets-Arrays verwendet.