Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Drupal CSS auf externer PHP-Seite laden

Eingetragen von tfranz (125)
am 13.03.2012 - 16:47 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo,

ich möchte in einem Unterordner mit Hilfe von PHP eine einfache Drupal-Seite (D6) aufbauen.
Dafür dient mir folgender, fast funktionierender Code in einer Datei namens "sites/all/exec/test.php":

<?php
chdir
('../../..');
require_once
"./includes/bootstrap.inc";
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>


<!DOCTYPE html>
<html>
  <head>
  <?php print $head; ?>
   <?php print $styles; ?>
  <?php print $scripts; ?>
  <?php print drupal_get_css(); ?>
  <title>Testseite</title>
  </head>
<body><div>Test</div></body>
</html>

Das Problem: die Variablen $head, $styles und $scripts werden im -Bereich ignoriert, bzw. nicht ausgegeben.
Wie kann ich Drupal überreden, hier etwas auszugeben?

Das Laden der CSS mit der Funktion "drupal_get_css()" funktioniert zumindest teilweise, es wird folgende Zeile ausgegeben:
<link type="text/css" rel="stylesheet" media="all" href="/sites/all/exec/sites/default/files/css/css_41396571140396d63cd32c0855734913.css" />

Wie bekomme ich die fehlerhafte Angabe "/sites/all/exec" aus der CSS-URL?

Danke für Eure Hilfe!

Tobias

‹ [gelöst]"Error - The website encountered an unexpected error. Please try again later." Fivestar nicht verfügbar ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe zwar nicht wirklich

Eingetragen von torfnase (1525)
am 13.03.2012 - 16:58 Uhr

Ich habe zwar nicht wirklich verstanden, was du machen willst, aber wenn ich mir den CSS-Dateinamen anschauen, dann sieht das so aus, als ob du ein Caching für die CSS-Dateien angeklickt hast:
Startseite » Verwaltung » Konfiguration » Entwicklung --> Leistung.

Gruß
Berthold Lausch

  • Anmelden oder Registrieren um Kommentare zu schreiben

Modul

Eingetragen von Kars-T (1473)
am 13.03.2012 - 17:10 Uhr

Schau mal, wie man in Drupal ein Modul erstellt und wie man mit hook_menu arbeitet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Berthold: Das mit dem

Eingetragen von tfranz (125)
am 13.03.2012 - 17:52 Uhr

@Berthold:
Das mit dem Caching soll so auch sein, ist also korrekt und will ich auch haben.
Nur der Link zu der CSS-Datei stimmt nicht:
"/sites/all/exec/sites/default/files/css/css_41396571140396d63cd32c0855734913.css"
... soll sein:
"/sites/default/files/css/css_41396571140396d63cd32c0855734913.css"

@Kars-T
Sehe zur Zeit noch keinen Zusammenhang mit "hook_menu" – es soll kein neues Modul entstehen, sondern nur eine einfache, "externe" Seite – oder habe ich da was übersehen?

Um was es mir geht:
Für Facebook-Tabs benötige ich _nur_ den Inhalt einer einzigen Drupal-Node als simple HTML-Seite im Design des aktuellen Themes.
Den Inhalt bekomme ich ganz einfach über

<?php
$nid
= '100'; $node = node_load($nid); print $node->body;
?>

Und wenn ich jetzt noch die CSS laden könnte, könnte ich mir den ganzen Aufwand mit den Facebook-Modulen und Secure Pages/ SSL etc. sparen ...
... dachte ich mir zumindest ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Externe Seite?

Eingetragen von Kars-T (1473)
am 13.03.2012 - 17:57 Uhr

Erkläre mir bitte mal, was für dich eine "externe" Seite ist?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Externe Seite!

Eingetragen von tfranz (125)
am 13.03.2012 - 18:45 Uhr

"Extern" ist natürlich etwas missverständlich ... was ich meine ist ein direkter Link zu einer echten HTML-/PHP-Datei wie zum Beispiel:
mydomain.de/sites/all/exec/test.php
Normalerweise werden die Inhalte von Drupal ja "intern" verwaltet – es gibt ja nicht für jede Node eine eigene HTML-Seite ...

Mein Ziel ist also eine HTML-Seite, welche frei vom üblichen "Ballast" oder URL-Rewrite-Regeln etc. lediglich den Inhalt einer Node darstellt.
Drupal soll sich also nicht weiter darum kümmern – was soweit ja auch wunderbar funktioniert.

Nur wünsche ich mir, dass sich Drupal jetzt doch noch um die komprimierte CSS-Datei kümmert und mir dafür den korrekten Link ausgibt.

Für mich sieht es so aus, als würde Drupal in der Funktion "drupal_get_css()" den Base-Path mit ausgeben, welcher in meinem Fall leider nicht "/" sondern "/sites/all/exec/" ist.

EDIT: Ich scheine den Fehler gefunden zu haben:

Ich musste vorher nur den Base-Path neu definieren:

<?php
global $base_url;
$base_path = '/';
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und warum verwendest du nicht

Eingetragen von Exterior (2903)
am 13.03.2012 - 20:15 Uhr

Und warum verwendest du nicht einfach die URL zum Node? (node/100)?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Beim direkten Aufruf von z.B.

Eingetragen von tfranz (125)
am 13.03.2012 - 23:35 Uhr

Beim direkten Aufruf von z.B. node/10 müsste ich erstmal alle für dieses eine Node zuständige Templates "säubern", damit ich nur die HTML-Bestandteile habe, welche ich haben möchte.
Ausserdem müsste ich für diese Node u.a. noch den URL-Alias deaktivieren und die htaccess ändern, damit ich nur diese Seite unter SSL aufrufen kann (was in dem Fall notwendig ist).
Und zu allem Überfluss möchte ich die Seite node/10 eigentlich zusätzlich auch ganz normal, also ohne Änderungen aufrufen können ...

Schien mir etwas zu kompliziert für eine einfache Seite – und das anfangs genannte Skript macht den ganzen Aufwand unnötig.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dann erstell dir ein

Eingetragen von Exterior (2903)
am 13.03.2012 - 23:59 Uhr

Dann erstell dir ein Mini-Modul, was den node ausgibt und lege dir für diesen Pfad ein extra Template (page.tpl.php) an, dann hast du doch alles, oder? Das, was du da machst ist - entschuldige bitte - ziemlicher Müll.

  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_menu

Eingetragen von Kars-T (1473)
am 14.03.2012 - 10:07 Uhr

Also was du beschreibst ist eindeutig eine Verwendung von hook_menu. Versuche bitte nicht an Drupal vorbei zu gehen und den bootstrap selbst zu machen. Drupal ist framework genug, das du immer damit arbeiten solltest. Du willst einfach das Drupal deine Daten verwaltet und nicht nur CSS und JS dazu gibt. Rechteschicht, Caching und Kontrolle bekommst du einfach so dazu. Du könntest auch einen andern bootstrap Mechanismus einbauen, das wäre aber recht komplex. Was du da machst sind quasi Core Hacks und das macht man einfach nicht. Ansonsten solltest du entweder reines PHP machen oder vielleicht symfony, wenn Drupal dir nicht behagt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mini-Müll-Modul

Eingetragen von tfranz (125)
am 14.03.2012 - 13:12 Uhr

@Exterior:
"ziemlicher Müll" ... ist entschuldigt ... :-)
Für Müll funktioniert es ziemlich gut – aber zugegeben weiss ich nicht wirklich, was ich da mache.

@Kars-T:
Drupal behagt mir grundsätzlich sogar sehr - aber die Lernkurve ist für manche, simpel erscheinende Ergebnisse nicht ganz ohne ...
Und es ist (finanziell) ein Unterschied, ob ich etwas in einer Stunde zusammengebastelt bekomme, oder ob ich für eine saubere Lösung – wäre toll! – erstmal einen Tag lang oder mehr recherchieren muss ...
Bislang habe ich für meine Lösung noch keinen Nachteil entdeckt – wobei ich natürlich keine Ahnung habe, ob ich da ein extremes Sicherheitsloch oder ähnliches gebastelt habe.

Sobald ich mehr Zeit habe, werde ich mich um einen saubere Lösung kümmern: interessiert mich ja schon ... und die nächsten Herausforderungen kommen bestimmt ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Für Müll funktioniert

Eingetragen von Exterior (2903)
am 14.03.2012 - 13:28 Uhr
Zitat:

Für Müll funktioniert es ziemlich gut – aber zugegeben weiss ich nicht wirklich, was ich da mache.

Das mit dem "Müll" bezieht sich auch eher darauf, dass du da an Drupal vorbei arbeitest und das macht man einfach nicht und ist hier nicht gern gesehen.

Zitat:

Bislang habe ich für meine Lösung noch keinen Nachteil entdeckt

Der Nachteil ist, dass Drupal die Seite nicht kennt und somit auch nicht eingreifen kann, alle Sicherheitsaspekte gehen damit flöten, ganz unabhängig davon, ob du da jetzt ein Sicherheitsloch rein gerissen hast oder nicht. Es wäre einfach sauberer, wenn man es so macht, wie es gedacht ist. Sonst kommt man auch irgendwann vom hundertsten ins tausendste, wenn man für zig Kleinigkeiten an Drupal vorbei eintwickeln will. Das ist einfach nicht Sinn der Sache. Und wenn man sich einmal ordentlich damit befasst hat, unterstützt Drupal auch sehr gut, sodass man einfache Probleme mitunter noch einfacher Lösen kann. Aber wenn man sich eben bei jeder Sache sagt "Nö, da müsste ich mir jetzt zuviel anlesen, da mache ich lieber eine Extrawurst", dann kommt man natürlich nicht gut voran und steigt nie so richtig durch.

Zitat:

aber die Lernkurve ist für manche, simpel erscheinende Ergebnisse nicht ganz ohne ...

Die Lernkurve ist bei Drupal allgemein relativ heftig, das muss man in Kauf nehmen, wenn man damit arbeiten will.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 3 Tagen
  • Hey danke
    vor 1 Woche 4 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association