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

Code Snippets Ablage/Verwaltung/Einbindung in Artikel via eine Drupal Instanz, fuer mehrere Sites ?

Eingetragen von Airport1 (34)
am 01.02.2009 - 10:55 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo, bin neu hier und auch noch recht frisch erst kuerzlich in Drupal 6 eingestiegen.

Der jetzige Stand ist folgender: eine Drupal Instanz, mehrere Sites im Ordner /sites, die ein Theme fuer alle benutzen.

Was ich derzeit suche ist eine Idee oder ein Modul fuer folgende Aufgabe:
Code Snippets Ablage/Verwaltung/Einbindung in Artikel via eine Drupal Instanz, fuer mehrere Sites

Ich beschreibe mal im folgenden erst den Ist-Zustand und daraufhin den Soll-Zustand.

Ist-Zustand:

Bisher nutze ich oft den Eingabefilter PHP um z.B. eine Karte einzubinden, z.B. in einem Artikel fuer Deutschland, in einem anderen fuer die Schweiz. Das ergibt Redundanzen und erhoehten Wartungsaufwand, und ist "dreckig": z.B. koennen sich viele Config Parameter wiederholen (Redundanz) oder die Stelle wovon der Service (die Karte) eingebunden ueber Nacht wechseln (require_once...). Das wuerde bedeuten ich muss z.B. 20 Artikel nachziehen. Da einige Sites dazu noch multi-lingual sind, habe ich mir zeitweise damit beholfen nur einen Artikel zu erstellen, und je nach Sprache den Artikel mit einem Query Parameter aufzurufen, und davon abhaengig die Config zu aendern, damit nicht ganz ein "Schlammfeld von copy-paste-Seiten" entsteht. Dirty?

Soll-Zustand:

Die Moeglichkeit verschiedene Javascript und PHP Code Snippets via Drupal so zu verwalten und zu pflegen, dass diese an EINER ZENTRALEN STELLE liegen, und bspw. dann in Artikel X auf Site A oder Artikel Y auf Site B bei Bedarf eingebunden werden koennen. Dabei waere es sehr nuetzlich, wenn man diese Code Snippets auch noch gleich in Drupal selber editieren/warten koennte (viel wartungsfreundlicher, "FTP Geschubse" entfaellt).

Ein Artikel der dann ein Code Snippet einsetzt koennte dann bspw. nur noch so aussehen:

Hier sehen Sie eine Deutschlandkarte mit aktuellen Verkehrsinformationen.

<?php
// Wie sieht es eigentlich aus bzgl. Namespace-Verschmutzung?
// ggf. noch ein require_once ?
meinePhpFunktionFuerKartenErstellung("de");
?>

Anderes Beispiel fuer einen Artikel der eine Javascript Snippet einsetzt:

Klicken Sie auf ein Faehnchen um den zugehoerigen Wiki Eintrag zu sehen:

<a href="javascript:void(0);" onclick="openWiki(this.irgendwas.value);"><img src=...><...></a>

Man kann das sicher alles irgendwie "fast & dirty hacken", also schlampig loesen. Ein sauberer, wartungsfreundlicher Ansatz ist mir jedoch viel lieber. Gibt es hierfuer ggf. ein Modul (evtl. eins was das leistet aber eigentlich fuer was anderes ist?)? Die Anforderungen sind nochmal kurz zusammengefasst:

  1. Zentrale Ablage von mehreren PHP und Javascript Code Snippets
  2. Einbinden der Snippets in Drupal Artikel bei Bedarf, sowohl auf Site A als auch auf B moeglich
  3. nicht ein Muss, waere aber super: Editieren der Snippets in Drupal moeglich

Ich hoffe ich konnte mich gut genug ausdruecken - und denke nicht etwa zu "verkorkst". Irgendwelche Ideen oder Anregungen werden gerne entgegengenommen :-)

Gruss, Airport1

‹ Hosting für Drupal Forum & Blogs Bin echt Ratlos *Hilfe* ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Vlt. nicht so richtig eine

Eingetragen von dawehner (2639)
am 01.02.2009 - 11:41 Uhr

Vlt. nicht so richtig eine Antwort.

Aber ich fnde allgemein PHP EVAL nicht ein erstrebenswertes Ziel.
Stattdessen könntest du dir ein Filter Modul schreiben, welches die entsprechenden Snippets reinschiebt.

Aber das ist schon ein bisschen Arbeit.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING

  • Anmelden oder Registrieren um Kommentare zu schreiben

bzgl. PHP Eval ggf. beide Augen zudruecken ;)

Eingetragen von Airport1 (34)
am 01.02.2009 - 12:38 Uhr

dass PHP Eval an fuer sich nicht so toll ist, ist sicher richtig. In dem Fall gehts aber drum, moeglichst schnell moeglichst viele Demo-Seiten verschiedener Produkte fuer verschiedene Laender und Sprachen zu bauen (d.h. grosse Redundanz von einzubindendem Code, wenn man es nicht "zentralisiert").

Ggf. wird man (aufgrund des Zeitdrucks) bzgl. PHP Eval beide Augen zudruecken muessen ;)

PS: Selber ein Modul zu entwickeln ist wahrscheinlich etwas muehselig, oder? Wieviel "Overhead" muss man denn fuer sowas einplanen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

page.tpl.php des Themes als "Zentralablage"?

Eingetragen von Airport1 (34)
am 02.02.2009 - 00:07 Uhr

Hm mir faellt dann sonst nur noch ein, die PHP/Javascript Snippets irgendwo im Theme zu verankern, z.B. in die page.tpl.php? Ist zwar ggf. suboptimal, aber es scheint ja keine bessere Loesung oder gar ein Modul hierfuer zu geben, oder?

PS: Gibts ggf. ein Modul womit man auch die page.tpl.php in Drupal bearbeiten kann? Dann entfaellt das "FTP Geschubse" ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Keine schoene Loesung, aber die einzige?

Eingetragen von Airport1 (34)
am 02.02.2009 - 11:53 Uhr

Moegliche - wenn auch "dirty hack" - Loesung: Hab die Code Snippets jetzt in der template.php vom Theme abgelegt. Den Code kann man dann im Artikel einfach aufrufen, wenn man dazu auch php eval nutzen muss. Ist zwar keine schoene Loesung, aber sie scheint zu funktionieren.

Anregungen fuer eine bessere Loesung sind natuerlich gerne erwuenscht :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

template.php taugt leider

Eingetragen von Airport1 (34)
am 02.02.2009 - 13:49 Uhr

template.php taugt leider irgendwie nicht als Ablage:

Fuege ich dort bspw. eine Funktion ein

function snippet1() {
return "snippet1";
}

und binde es im Artikel ein, z.B. mit:

<?php
 
echo snippet1();
?>

habe ich derzeit das Problem, das oft anfangs die Funktion zwar aufgerufen werden kann und der Artikel im VIEW Modus brav "snippet1" ausgibt, aber bei weiterem Updaten des Artikels ist die Funktion dann anscheinend nicht mehr da/verfuegbar, es wird nur eine weisse Seite ausgegeben.

Unter Site Building ist Caching schon komplett abgeschaltet, dennoch bleibt dieses Verhalten. Wie kann man das abstellen, bzw. kann es sein dass trotzdem das template.php gecached wird und ggf. so dass nur bestimmte Funktionen dabei "ueberleben"? Oder sollte ich die Snippets sowieso lieber wo anders ablegen?

Nun wirds noch "dreckiger": jetzt landen die Codes in ner extra-Datei die in /includes/common.inc eingebunden wird. das tut, auch wenns alles andere als sauber geloest ist ;)

  • 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 6 Tagen
  • Hey danke
    vor 2 Wochen 13 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 14 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 15 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