Willkommen, Gast ( Anmelden | Registrierung )     [ Hilfe | Mitglieder | Suche ]

 
Reply to this topicStart new topic
> Modul mit Javascript
Chregu
Beitrag Mon. 26. May 2008, 18:09
Beitrag #1


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 334
Mitglied seit: 10.07.2006
Wohnort: luzern (Schweiz)
Mitglieds-Nr.: 128



Hallo Zusammen

Ich bin zurzeit an der Fertigstellung des Tagging-Plugin mit einigen Erweiterungen. Nun habe ich dazu noch ein Modul in der Entwicklung.
Das Modul hat einige AJAX-Implementation logischerweise mit Javascript-Funktion. Nun ist meine Frage, wie ich diese am besten ins Modul eingliedere.

Man könnte den ganzen Javascript-Teil direkt in die Ausgabe mit einbinden. Was ich persönlich gar nicht schön finde.
Oder man könnte das ganze als eigenes JS-File irgendwo in der Ordnerstruktur von Sefrengo unterbringen.

Nun ist meine Frage wie ihr das bewerkstelligen würdet? Mit einer externen Datei ist einfach die Unschöheit da, dass man diese Files noch von Hand herumkopieren müsste oder gäbe es alternativen?


Danke für euer Inputs.

Gruss
Chris
Go to the top of the page
 
+Quote Post
pawel
Beitrag Mon. 26. May 2008, 20:49
Beitrag #2


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 442
Mitglied seit: 02.07.2006
Wohnort: Halle
Mitglieds-Nr.: 71



Guckst du hier.
Zurzeit bevorzuge ich die Sache aber noch manuell.


--------------------
Go to the top of the page
 
+Quote Post
Chregu
Beitrag Tue. 27. May 2008, 20:42
Beitrag #3


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 334
Mitglied seit: 10.07.2006
Wohnort: luzern (Schweiz)
Mitglieds-Nr.: 128



Danke pawel...

Habe ich auch schon gesehen. Aber irgendwie ist das ein wenig übertrieben. Da sollte es doch auch no alternativen geben...

gruss
chregu
Go to the top of the page
 
+Quote Post
smail
Beitrag Wed. 28. May 2008, 00:43
Beitrag #4


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 587
Mitglied seit: 01.07.2006
Mitglieds-Nr.: 62



ZITAT(Chregu @ Tue. 27. May 2008, 21:42) *
Habe ich auch schon gesehen. Aber irgendwie ist das ein wenig übertrieben. Da sollte es doch auch no alternativen geben...


Na, na, was heißt denn da übertrieben tongue.gif

Meines Wissens nach gibt es derzeit nur 4 Möglichkeiten, Angaben in den Header zu schreiben
  • direkt ins Layout schreiben
  • Modul in den Header setzen, dass das script einbindet
  • Plugin: Modifikation des Outputs über Autostarts (der Output wird dann aber immer verändert!)
  • Plugin: das von mir vorgestellte Konzept bzw. die Abwandlung von duffy (Kombination von Singleton-Implementation + Autostart)
Aus meiner Sicht bietet die letzte Variante einige Vorteile:
  • Einfache Handhabung: Plugins sind auch für Anwender ohne große Kenntnisse zu installieren, manuelle Anpassungen sind nicht mehr nötig
  • Übersichtlichkeit: sämtliche Ressourcen können vom Entwickler im Pluginverzeichnis abgelegt werden
  • kurze Ladezeiten: javascript-files (ebenso css, etc.) werden nur bei Bedarf geladen, d.h. wenn ein Modul die Ressourcen wirklich braucht
Klar, bei der Modul- bzw. Plugin-Entwicklung muss man sich einmal Gedanken machen. Danach aber nie wieder smile.gif

Wenn Du Verbesserungen hast, dann gerne her damit biggrin.gif

Gruß
Jan


--------------------
Zufall ist das Pseudonym, das Gott sich zugelegt hat, wenn er unerkannt bleiben möchte.
Go to the top of the page
 
+Quote Post
pawel
Beitrag Wed. 28. May 2008, 17:24
Beitrag #5


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 442
Mitglied seit: 02.07.2006
Wohnort: Halle
Mitglieds-Nr.: 71



Meines Wissens gibt es noch die fünfte Möglichkeit, zunächst entwickelt von ketti, und von mir genutzt im Googlemapsmodul...
Man kann die Variante sicher mit addheader verheiraten, prüft also bpws. ob das Plugin vorhanden ist und im anderen Fall schreibt man den Link in den Header auf die o.g. Weise.


--------------------
Go to the top of the page
 
+Quote Post
smail
Beitrag Thu. 29. May 2008, 10:07
Beitrag #6


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 587
Mitglied seit: 01.07.2006
Mitglieds-Nr.: 62



ZITAT
Meines Wissens gibt es noch die fünfte Möglichkeit, zunächst entwickelt von ketti, und von mir genutzt im Googlemapsmodul...


Wenn ich das richtig sehe, verwendest Du js zum einbinden
QUELLTEXT
document.write('<link rel="stylesheet" href="cms/css/maps.css" type="text/css" />');


Stimmt, damit gibt es noch einen Möglichkeit smile.gif
Im Fall von googlemaps ist das sicher praktisch, da die Karten ohne js eh nicht funktionieren. Für das Einbinden anderer Dateitypen (z.B. css) würde ich aber nicht darauf setzen.

Gruß
Jan


--------------------
Zufall ist das Pseudonym, das Gott sich zugelegt hat, wenn er unerkannt bleiben möchte.
Go to the top of the page
 
+Quote Post
pawel
Beitrag Thu. 29. May 2008, 15:54
Beitrag #7


Advanced Member
*******

Gruppe: AdvancedMembers
Beiträge: 442
Mitglied seit: 02.07.2006
Wohnort: Halle
Mitglieds-Nr.: 71



Nö, das war nicht damit gemeint. Das nutze ich nur, damit maps bei aktiven Js eine Höhe und Breite haben, der div ist ja ohne unnütz.

Ich meine diese Art direkte Outputmanipulation innerhalb einem im body(!) platzierten Modul:
QUELLTEXT
$head = "was soll rein...";
$code2_head = array($head);
    
            $mod['manipulate_output']  = '$magic = "<!--START head//-->"';
            $mod['manipulate_output'] .= '$start = strpos($output, $magic) + strlen($magic);';
            $mod['manipulate_output'] .= '$new_output  = substr($output, 0, $start);';
            $mod['manipulate_output'] .= '$new_output .= implode("", $code2_head);';
            $mod['manipulate_output'] .= '$new_output .= substr($output, $start);';
            $mod['manipulate_output'] .= '$output = $new_output;';
            $cfg_client['manipulate_output'] = $mod['manipulate_output'] . $cfg_client['manipulate_output'];


Bei Googlemaps wird dabei der Javascriptcode in den Header geschrieben, was auch nötig ist, um die Scripts von Google direkt einzubinden.


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Besucher lesen dieses Thema (Gäste: 1 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 26.4.24 - 22:00

Sefrengo ist ein eingetragenes Markenzeichen und urheberrechtlich geschützt.
Copyright 2009 Design & Daten, Alle Rechte vorbehalten.