Module- Mehrmals auf einer Seite |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
Module- Mehrmals auf einer Seite |
Guest_summerbrother_* |
Mon. 21. August 2006, 17:05
Beitrag
#1
|
Guests |
Hallo,
ich habe ein neues Modul erstellt. Wie bringe ich jetzt dieses Modul dazu, sich mehrmals auf einer Seite installieren zu lassen ? Das habe ich noch bei Dedi gefunden : QUELLTEXT Modul mehrfach verwendbar machen: dies wird möglich wenn Ihr die Parameter, die Ihr übergeben müßt innerhalb eines Moduls so anlegt ...&modContainernummer_Modulverdopplungsnummer_Aktion=Parameter&... z.B. ...'&'.$dedi_mod['key'].'Aktion=Parameter&'... Auslesen könnt Ihr es dann so: if(${$dedi_mod['key'].'Aktion'} == 'Parameter') { } Leider sagt mir das gar nichts. Kann mir das bitte einer an meinem Modul erklären ? Würde das gerne lernen. Ich schicks dann gern per Mail zu. Danke schön. Der Beitrag wurde von summerbrother bearbeitet: Mon. 21. August 2006, 17:08 |
|
|
Mon. 21. August 2006, 18:48
Beitrag
#2
|
|
Member Gruppe: Members Beiträge: 44 Mitglied seit: 21.08.2006 Mitglieds-Nr.: 202 |
genau das problem habe ich auch gerade. gibt es dazu irgendwo eine beschreibung?
|
|
|
Mon. 21. August 2006, 19:45
Beitrag
#3
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 1.126 Mitglied seit: 27.06.2006 Mitglieds-Nr.: 7 |
Hallo, ich habe ein neues Modul erstellt. Wie bringe ich jetzt dieses Modul dazu, sich mehrmals auf einer Seite installieren zu lassen ? eigentlich, indem du im Layout mehrere Container anlegst und die freien Felder im Template mit dem Modul füllst oder ich habe deine Frage nicht verstanden. Ich glaube Letzeres!! Der Beitrag wurde von gunwalt bearbeitet: Mon. 21. August 2006, 19:46 -------------------- ------
Ich gehe spazieren durch Gelsenkirchen |
|
|
Mon. 21. August 2006, 20:01
Beitrag
#4
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 343 Mitglied seit: 26.06.2006 Wohnort: CH Mitglieds-Nr.: 5 |
solange du keine eingenen Funktionen im Modul verwendest und auch keine Parameter über die URL an das Modul übergibst, hast du keine grossen Probleme.
Wichtig ist nur, dass du alle lokalen Variablen die du verwendet am Ende des Moduls mit unset löscht. Bsp: QUELLTEXT unset($modv); Wenn Ihr Funktionen verwendet oder Paremeter übergebt, kann ich dazu auch noch ein Bsp angeben. Gruss Mistral -------------------- So einfach wie möglich, aber nicht einfacher!
(Albert Einstein) |
|
|
Guest_summerbrother_* |
Mon. 21. August 2006, 20:42
Beitrag
#5
|
Guests |
@ guntram
ZITAT ... oder ich habe deine Frage nicht verstanden hihi, der war gut. War zwar nicht dass, was ich mir erhofft hatte, hat mich aber auf die Spur meines Fehlers geführt. Es ging schon um den Frontend-Modul-Output. Da hatte ich ein "<" zuviel drin. Und auf Grund Deines Spruches musst ich an Harald denken, und der hat immer gesagt: "zähl die < und >`s" @ mistral Stimmt, funktioniert ohne irgendwas. Aber das Beispiel wär trotzdem gut, fürs nächste Modul. Wenn ich es dann kapiert habe, mach ich auch nen Punkt im Wiki draus. Danke schön. |
|
|
Mon. 21. August 2006, 22:15
Beitrag
#6
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 343 Mitglied seit: 26.06.2006 Wohnort: CH Mitglieds-Nr.: 5 |
Ok.
Funktionen Beiden Funktionen können noch zusätzlich 2 Fälle unterschieden werden.
Die Funktion darf nur einmal Definiert werden. Daher muss die vor der Funktionsdekleration mit function_exists überprüft werden, ob die Funktion bereits existiert: Bsp: QUELLTEXT if (!function_exists('modulname_MakeHeader')) { function modulname_MakeHeader($text, $x, $y, $color, $font, $size, $angle, $image, $new_image) { global $cfg_cms, $cfg_client; require_once $cfg_cms['cms_path'].'external/pear.php.net/Image/Transform.php'; $cms_image = Image_Transform::factory($cfg_cms['image_mode']); $cms_image->load($image); $text_size = imagettfbbox($size,$angle,$font,$text); if ($cms_mod['value']['8'] == 'center') { $x = ($cms_image->img_x-$text_size[6]-$text_size[4])/2; // wird dadurch zentriert. } $cms_image->addText(array('text'=>$text,'x'=>$x,'y'=>$y,'color'=>$color,'font'=>$font,'size'=>$size,'angle'=>$angle)); $cms_image->save($new_image); $cms_image->free(); unset($cms_image); } } Dabei ist es wichtig eindeutige Namen für die Funktionen zu verwenden. Damit ein anderes Modul nicht per Zufall den selben Funktiosnamen verwendet. Am Besten wird beim jeder verwendeten Funktion der Modulname vorabgeschrieben. Also modulname_funktionname(). B ) variable Funktionsnamen verwenden Parameter an das Modul übergeben: Da gibt es verschiedene Varianten: z.B. QUELLTEXT Den Parameter in der URL so definieren:
'test_'.$cms_mod['container']['id'].'_'.$cms_mod['modul']['id'] -------------------- So einfach wie möglich, aber nicht einfacher!
(Albert Einstein) |
|
|
Tue. 22. August 2006, 07:16
Beitrag
#7
|
|
Member Gruppe: Members Beiträge: 44 Mitglied seit: 21.08.2006 Mitglieds-Nr.: 202 |
Ok. Funktionen Beiden Funktionen können noch zusätzlich 2 Fälle unterschieden werden.
und was muss ich im aufgezählten Fall b machen? im Template gebe ich nämlich für MOD_VALUE[X] unterschiedliche werte an. wenn das 2. modul an der reihe ist, sind leider noch die werte vom ersten modul aktiv. ich häng mein modul einfach mal an. viele grüße micha
Angehängte Datei(en)
|
|
|
Tue. 22. August 2006, 20:17
Beitrag
#8
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 343 Mitglied seit: 26.06.2006 Wohnort: CH Mitglieds-Nr.: 5 |
das steht doch oben
Nur hat das Forum aus QUELLTEXT b) ein gemacht ohne das ich es bemerkt habe.@mlanghoffbln übergib deine MOD_VALUE[X] als Parameter der Funktion und verwende sie nicht direkt in der Funktion -------------------- So einfach wie möglich, aber nicht einfacher!
(Albert Einstein) |
|
|
Vereinfachte Darstellung | Aktuelles Datum: 25.9.24 - 02:25 |