OT: SelectList -> conditional event
- smhaller
-
Autor
- Offline
- Junior Mitglied
-
ich habe folgende Ausgangssituation:
Eine SelectList zeigt mir die verfügbaren MessagingServices (AOL,MSN) an. Gleichzeitig habe ich einen manuellen Wert "Neu" zugefügt. Eine JavaScript funktion prüft über onChange welcher Wert gesetzt wurde. bei "N" für neu kann ich einen alert Dialog aufrufen.
Nun möchte ich aber statt dessen eine ModalBox aufrufen um darin den neuen MessagingService definieren zu können.
Die Entsprechende Joomla Klasse wird bereits geladen.
Weiss hier jemand Rat wie ich das richtig einbaue? Respektive wie ich der JavaScript Funktion sage er soll mir eine ModalBox anzeigen mit dem gewünschten inhalt?
Ein Aufruf mit window.open öffnet entsprechend ein neues Browser Fenster, dieses kann ich aber nicht umbiegen.
Danke und Gruss
Stefan
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- smhaller
-
Autor
- Offline
- Junior Mitglied
-
Hinweise:
--ALTER LINK WURDE ENTFERNT--
--ALTER LINK WURDE ENTFERNT--
Nun müsste ich darin aber noch ein Formular aufrufen können um den MessagingService zu definieren.
Gruss
Stefan
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
Ähh....Ja.
Du hast es hinbekommen. Schön.
Ja, stimmt. Oder klappt das nicht? Falls nicht, was genau geht nicht? Einbisschen mehr Infos sollten es schon sein.Nun müsste ich darin aber noch ein Formular aufrufen können um den MessagingService zu definieren.
Das Formular hast du schon? Ist es Joomla-Content? Oder was externes? Du müsstest deiner JavaScript-Function via onChange-Handler vermutlich nur die URL zu dem Formular mitteilen, ev. noch andere Parameter, je nach Lösungsansatz halt. Entsprechende Beispiele sind ja bei beiden Lösungsansätzen vorhanden.
Und wenn dein Formular Joomla-Content ist, d.h. von einer Joomla-Extension angezeigt wird, dann musst du der URL noch den Parameter 'tmpl=component' anhängen, damit nur der reine Content angezeigt wird, ohne Module ringsum.
Greetz
Roger
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- smhaller
-
Autor
- Offline
- Junior Mitglied
-
danke für Deine Antwort und den Tip:
Und wenn dein Formular Joomla-Content ist, d.h. von einer Joomla-Extension angezeigt wird, dann musst du der URL noch den Parameter 'tmpl=component' anhängen, damit nur der reine Content angezeigt wird, ohne Module ringsum.
Nein, das Formular für diesen Teil muss ich mier wohl noch basteln, respektive eine eigene View dafür bauen.
Im Moment sieht der Aufruf nun so aus:
Ich frage mich nun aber ob das so Sinn macht.. Denn einen ähnlichen Funktionsaufruf brauche ich auch noch in einem weiteren Teil der Komponente. Die Schwierigkeit wird für mich sein, das zu generalisieren

Stefan
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
Eine übliche Vorgehensweise wäre z.B., du schreibst dir eine PHP-Klasse mit statischen Hilf-Funktionen.
Die 'Hauptdatei' einer Komponente ist immer das PHP-File mit demselben Namen wie die Komponente selbst, aber ohne das 'com_' (im Frontend), und zwar im Root-Ordner der Erweiterung. Also bei einer Kompo mit Namen 'com_tab' wäre das dann ../components/com_tab/tab.php. Im Backend wäre es die ../administrator/components/com_tab/admin.tab.php
Die wird bei einen Aufruf auf die Komponente immer zuerst ausgeführt. Da wäre der richtige Ort um deine Helper-Klasse zu includen, dann steht sie dir Komponenten-Weit in allen M's, V's und C's zur Verfügung.
R.
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- smhaller
-
Autor
- Offline
- Junior Mitglied
-
ich habs tatsächlich geschafft!
Einen kleinen Schönheitsfehler habe ich jetzt noch. Der controller liefert mir den falschen Rückgabewert.
Anstelle von erfolgreich wird fehlerhaft ausgegeben. Ich interpretiere die Funktionsweise so, dass if prüft ob der Aufruf von storeType erfolgreich war. Wenn true (0) dann .... und sonst ...
Im Model steht:
Da der Datensatz sauber in die Tabelle geschrieben wird leuchtet mir das nicht ganz ein.
Wo mache ich dan den Denkfehler?
Danke und Gruss
Stefan
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tribal6
-
- Offline
-
Der Ausdruck im Controller prüft den Returnwert von $model->store(). Ist aber aus deinen Angaben nicht ersichtlich, was die zurückgibt. Müsste aber bei Erfolg ein 'return true;' sein.
ich schätze aber mal wenn du aus
Mahlzeit
Roger
Tue das, was du kannst, mit dem was du hast, da wo du bist.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.