it-swarm.com.de

Benutzerdefinierte Komponente 3 Ebenen tief

Ich baue eine Komponente und versuche herauszufinden, wie das geht

Buchungen/Bestellungen/Bestellung

Ich habe eine Ansicht und ein Formular für Buchungen. Ich habe eine Ansicht und ein Formular für Bestellungen

Jedoch...

Ich habe Probleme, Buchungen zu bekommen, um Bestellungen basierend auf Buchungs-ID zu zeigen. Ich habe der Modelldatei WHERE bid = GET [bid] hinzugefügt.

Dies bringt jedoch Probleme mit der Bearbeitung eines Auftrags mit sich.

Die Schritte sind

  • klicken Sie auf Buchungen
  • anzeigen von Bestellungen basierend auf der Buchungs-ID (mein benutzerdefinierter Hack in der Modelldatei für Bestellungen)
  • offene Bestellung
  • reihenfolge bearbeiten
  • klicken Sie auf Speichern
  • zurück zur Bestellansicht mit Buchungsnummer = Buchungsnummer

Ich kann das schaffen, indem ich einen kleinen Hack in die Datei order.php des Controllers hinzufüge

aber...

Das funktioniert zum Speichern und Zurückgehen und bringt dennoch alle anderen Aktionen wie Veröffentlichen, Archivieren usw. zum Absturz.

Es muss einen Abschnitt im MVC geben, in den ich das zusätzliche & bid = $ _ GET ['bid'] einfügen kann, und es funktioniert über alle Übermittlungsaktionen hinweg.

Was ist der richtige Weg, um eine Komponente mit Ansichten zu erstellen, die einander übergeordnet sind?.

Ich bin froh, Code zur Verfügung zu stellen, aber es gibt ziemlich viel. Also vielleicht, wenn Sie mich zuerst leiten könnten.

einige andere Notizen:

hier ist mein Link zu den Bestellungen aus der Buchungsansicht

JRoute::_('index.php?option=com_tourbookings&view=orders&bid='.(int) $row->id)

Hier ist mein Hack innerhalb der models/orders.php

$query->where('a.bid = '.$_GET['bid']);

Soweit funktioniert das gut, wenn ich darauf klicke bekomme ich die Bestellungen auf Basis des Gebots.

Dann bin ich verloren. Denn wenn ich versuche, von hier aus zu hacken, stecke ich völlig fest, da es nicht zu den auf dem Gebot basierenden Bestellungen zurückkommt, ohne zu stürzen.

Wenn ich die controller/order.php hacke (was sich in joomla 3.3+ wieder geändert hat)

Ich finde, dass es irgendwie funktioniert und es mir ermöglicht, mit bid = bid zur vorherigen Seite zurückzukehren, aber wenn ich versuche zu archivieren, die Veröffentlichung aufzuheben oder irgendetwas in dieser Art zu tun, stecke ich fest.

Prost John

1
Jonnypixel

Die Frage ist sehr allgemein. Auf den ersten Blick:

  • Die Frage hängt davon ab, wie Sie eine MVC in Joomla! und welcher Controller-Variante folgen Sie? Aus meiner Sicht vermeide ich, dass MVC-Probleme nur durch Weiterleiten von FoF verursacht werden, anstatt zu erläutern, wie ein nativer Controller in Joomla 2.5, 3 oder 3.x implementiert wird.
  • Verwenden Sie aus Sicherheitsgründen NICHT $ _GET. Implementieren Sie JInput, anstatt die unformatierten Variablen zu verwenden. Zum Beispiel implementiert FoF F0FInput und erweitert JInput.
2
Anibal