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

 
Reply to this topicStart new topic
> Zugriff auf head und body vom Modul
pawel
Beitrag Sat. 9. December 2006, 13:34
Beitrag #1


Advanced Member
*******

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



Man kann Module ja einbetten, wo man will bzw. wo es die Funktionalität geben soll. Ist es möglich auch Zugriff auf einen Breich zu bekommen in dem das Modul nicht eingebettet ist (z.B. auf zusätzliches JS im head) oder umgedreht wenn das Modul im <head> eingebettet ist auf den body (bpws. um eine typegroup zu platzieren, die ja sonst nicht angezeigt werden kann?


--------------------
Go to the top of the page
 
+Quote Post
MaZderMind
Beitrag Sat. 9. December 2006, 19:39
Beitrag #2


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 680
Mitglied seit: 09.08.2006
Wohnort: nähe Mainz
Mitglieds-Nr.: 182



Hmmm
Du kannst zwei Module bauen. Das erste im Head speichert was in einer Variable ab, z.B. $_evil_var_for_saving_data_of_module_blablabla = array('aa', 'bb', 'cc'); und im zweiten Modul liest du das dann aus. Beispiel wäre im Dedi die implementierung der Fußnoten, da werden die während des Parsens in so einer Variable abgelegt und vom Fußnotenmodul ausgegeben. Ist aber eher ein Hack als ne Dauerlösung.

Gruß, Peter
Go to the top of the page
 
+Quote Post
pawel
Beitrag Sat. 9. December 2006, 20:47
Beitrag #3


Advanced Member
*******

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



Das habe ich befürchtet. Es wäre nett, wenn es eine SFinterne Möglichkeit geben würden, Modulspezifisches JS in den Head zu laden.
Ich kann also per Modul im body eine JS schreiben, aber ich kann Sie nicht automatisch einbinden.
Am besten wäre es, wenn im <cms:lay type="head" /> zusätzlich noch eine Funktion enthalten wäre, für die importierten Module je Seite zusätzliche Dateien (js oder css) mit einzulesen.

Mit file_exist könnte unter Umständen geprüft werden ob eine Datei idcatside8_textarea1.js existiert und eingebunden werden kann.
Nun ja, ist glaube ich mehr ein Featurerequest geworden. 8)


--------------------
Go to the top of the page
 
+Quote Post
MaZderMind
Beitrag Sat. 9. December 2006, 20:59
Beitrag #4


Advanced Member
********

Gruppe: AdvancedMembers
Beiträge: 680
Mitglied seit: 09.08.2006
Wohnort: nähe Mainz
Mitglieds-Nr.: 182



ZITAT
Es wäre nett, wenn es eine SFinterne Möglichkeit geben würden, Modulspezifisches JS in den Head zu laden.

Bitte zusätzlich auch noch für Stylesheets und Metatags..
Kannst du darauch einen FR machen?

Gruß, Peter
Go to the top of the page
 
+Quote Post
ketti
Beitrag Mon. 11. December 2006, 00:28
Beitrag #5


Newbie
*

Gruppe: Members
Beiträge: 6
Mitglied seit: 05.07.2006
Mitglieds-Nr.: 108



In mein "Navigation2" Modul habe ich eine Funktion eingebaut, mit der man beliebige Zeichenketten in den <head>-Bereich einfügen kann. Das Ganze funktioniert über den 'manipulate_output'-Mechanismus.

Der Code aus dem Modul:
In "$mod['tpl'][30]" befindet sich die einzufügende Zeichenkette.
QUELLTEXT
    if ($mod['tpl'][30])
    {
        if (is_array($navigation2_head))
        {
            array_push($navigation2_head, $mod['tpl'][30]);
        }
        else
        {
            //TODO: modrewrite_replace für den neuen output noch einmal aufrufen oder darauf hinweisen, dass der output nicht ersetzt wird
            $navigation2_head = array($mod['tpl'][30]);
    
            $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("", $navigation2_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'];
        }
    }
Go to the top of the page
 
+Quote Post
pawel
Beitrag Mon. 11. December 2006, 20:41
Beitrag #6


Advanced Member
*******

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



Ist das schon SF ? Du suchst also im Output nach <!--START head//-->? Sehr spannend.
Kann ich das gesamte Modul mal sehen?


--------------------
Go to the top of the page
 
+Quote Post
ketti
Beitrag Tue. 12. December 2006, 00:08
Beitrag #7


Newbie
*

Gruppe: Members
Beiträge: 6
Mitglied seit: 05.07.2006
Mitglieds-Nr.: 108



Navigation2 Thread. War auch oben schon verlinkt.
Das Ganze hatte ich für DeDi entwickelt, sollte aber relativ einfach portiert werden können.

Der Beitrag wurde von ketti bearbeitet: Tue. 12. December 2006, 00:13
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: 28.4.24 - 22:54

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