Willkommen Gast. Bitte anmelden oder registrieren.

Autor Thema: Toolbar Frontend  (Gelesen 2957 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Marco

  • Unter Beobachtung
  • Beiträge: 4
Toolbar Frontend
« am: 22. März 2012, 12:34:24 »
Hallo, liebe Joomler.

Ich bin gerade dabei mir eine Test Komponente zu erstellen.
Habe jedoch mit der Toolbar im Frontend Probleme.
Zum testen habe ich mir die Hallo Welt Komponente nach gebaut, um alles besser zu verstehen.
http://wiki.joomla-nafu.de/joomla-dokumentation/Joomla!_Programmierung/Programmierung/Hallo_Welt_J1.6/Teil_01

Jetzt möchte ich aber gerne, die Sachen im Frontend bearbeiten, statt im Backend.
Also habe ich alles vom Backend(admin) ins Frontend(site) Kopiert.
Als erstes wurde mir die Toolbar nicht angezeigt. Dann habe ich mich nach dieser Anleitung gehalten.
http://docs.joomla.org/How_to_use_the_JToolBar_class_in_the_frontend

Nur habe ich jetzt das Problem das ich immer auf folgende URL lande:
http://localhost/joomla/index.php#
Egal auf welchem Button ich Klicke und die Daten werden auch nicht gespeichert.

Muss ich jetzt noch etwas beachten damit die Daten gespeichert werden?

Vielen Dank für eure Hilfe.

Mfg
Marco

bembelimen

  • moderatives Dielektrikum
  • Beiträge: 227
  • Ich kam, sah und zensierte...
    • Joomla! Vereinsverwaltung
Antw: Toolbar Frontend
« Antwort #1 am: 22. März 2012, 13:24:49 »
Hallo,

die Frage ist, was du genau erreichen willst.

Prinzipiell brauchst du immer zuerst ein form-Tag für dein Formular, was ein eindeutiges Ziel hat. Zusätzlich brauchst du noch entsprechende Javascript Funktionen, die das Formular beim Klick auf den Button absenden und zu guter Letzt muss dein Formular eine entsprechende ID haben um angesprochen werden zu können.

Ich würde an deiner Stelle aber darauf verzichten JToolbar aus dem Backend zu nutzen, da damit CSS Dateien aus dem "administrator" Ordner geladen werden und das evtl. mit einem existierenden htaccess Schutz in Konflikt geraden kann. Zusätzlich ist es sehr umständlich zu implementieren. Viel schneller geht es, wenn du ein normales input type="submit" nutzt und das dann entsprechend dem Button (per CSS) gestaltest. Das wäre die generelle Vorgehensweise für das Frontend (siehe auch com_content Artikel bearbeiten/einreichen).

Aber um genauere Fehleranalyse betreiben zu können, müsste man deinen Code sehen.
Joomla! ist auch nur ein Mensch...

Marco

  • Unter Beobachtung
  • Beiträge: 4
Antw: Toolbar Frontend
« Antwort #2 am: 22. März 2012, 20:41:54 »
Hallo Bembelimen,

vielen Dank für deine schnelle Rückmeldung.

Zitat
die Frage ist, was du genau erreichen willst.
Erreichen möchte ich dadurch, das ich alle Wünsche in einer Komponente habe.
Wenn man irgendetwas bestimmtes haben möchte, muss man meistens auf mehrere Komponente, Module etc. zurückgreifen.
Bei einer eigene Komponente, ist das nicht der Fall  ;)

Okay,
ich habe jetzt die Toolbar erstmal auskommentiert und verwende jetzt eigene Buttons.
Dafür habe ich die entsprechenden Funktionen in den Controllern/Model angelegt.
In der Edit View 2 Buttons Save/Cancel und einen Input Feld Id angelegt.

Soweit Funktioniert das schon besser als vorher. Ich ändere einen Eintrag und werde auf die richtige URL weitergeleitet. Nur mit dem Speichern der Daten gibt es noch Probleme. Ich bekomme zwar die Meldung, das die Daten erfolgreich gespeichert wurden sind. Aber das ist leider nicht der Fall.
Ich hänge die Komponente mal mit an, vielleicht hast du ja kurz Zeit dir das mal anzusehen.

Vielen Dank

Mfg
Marco

Marco

  • Unter Beobachtung
  • Beiträge: 4
Antw: Toolbar Frontend
« Antwort #3 am: 26. März 2012, 08:01:53 »
Hallo,

also ich bekomme das einfach nicht hin.
Ich kann es drehen und wenden wie ich es möchte, wird einfach nichts in die DB geschrieben.
Ich hoffe mir kann dabei noch jemand helfen.

Vielen Dank

Mfg
Marco

bembelimen

  • moderatives Dielektrikum
  • Beiträge: 227
  • Ich kam, sah und zensierte...
    • Joomla! Vereinsverwaltung
Antw: Toolbar Frontend
« Antwort #4 am: 26. März 2012, 13:37:39 »
Was für debugging-Methoden hast du schon ausprobiert?

ein sehr effizientes Verfahren (wenn man keinen IDE-Debugger nutzen will) ist es, an bestimmten Stellen (z.B. eine Zeile vor dem speichern) den Query und die Daten ausgeben zu lassen, ob noch alles da ist und danach das Script zu beenden, sprich echo/print_r => exit;
Joomla! ist auch nur ein Mensch...

Marco

  • Unter Beobachtung
  • Beiträge: 4
Antw: Toolbar Frontend
« Antwort #5 am: 26. März 2012, 16:08:28 »
Hallo bembelimen,

Debugging-Methode habe ich genau so gemacht wie du es auch beschrieben hast.
Habe alles ausgeben lassen, was für das Speichern wichtig ist.
Die Tabelle wird erfolgreich geladen, sind zwar noch andere Querys drin. aber das sollte ja nicht stören.
Die Daten vom Formular werden auch erfolgreich in der Variable "$data" gespeichert.

Habe Mehrfach meine Daten mit anderen Komponenten oder Codes im Inet verglichen.
Scheint alles richtig zu sein. Aber irgendwo muss ich was vergessen haben.
Ich bin mit meinem Latein am Ende und komme ohne Hilfe nicht weiter.

Mfg
Marco

bembelimen

  • moderatives Dielektrikum
  • Beiträge: 227
  • Ich kam, sah und zensierte...
    • Joomla! Vereinsverwaltung
Antw: Toolbar Frontend
« Antwort #6 am: 02. April 2012, 19:28:15 »
Hallo,

dein Problem an dem ganzen ist, dass du im Frontend nicht so wie im Backend agieren kannst. Du musst viel mehr manuell setzen.

Folgende Punkte sind mir aufgefallen:

  • Erstelle für das Speichern einen eigenen Controller, der von JControllerForm erbt, dieser übernimmt dann das Speichern für dich
  • Nutze dann den Task "[controllername].save"
  • Das versteckte Feld "controller" ist dadurch nicht mehr notwendig
  • Schalte unbedingt das error_reporting auf maximum (PHP-seitig), dein Code wirft teilweise Fehler/Notice
Joomla! ist auch nur ein Mensch...