Ich versuche im Admin Menü des Eigenmoduls ein Redirect zu erstellen. Ich will eigentlich einen GET Parameter in der URL haben mit dem ich eine DB-Abfrage mache und dann die einzelnen Resultate anzeige. Ich würde dafür gerne den bestehenden Menüpunkt benutzen.
Ich habe das SUBMENU “Orders” (keine OXID Orders) im meinem Modul. Wenn ich normal drauf-klicke bekomme ich eine Liste von Bestellungen die in der Datenbank vorhanden sind. Was ich gerne noch dazu hätte wäre:
Wenn ich auf einen einzelnen Order klicke soll er ein Redirect, bzw. Reload der Seite machen, mit der Order ID als GET Parameter, und dann einen anderen View anzeigen. Ich hatte mir das so vorgestellt:
class admin_stinasbsmoduleorders extends oxAdminView
{
public function render()
{
parent::render();
if (isset($_GET['shop_order_id'])) {
// Weitere prüfungen und Datenbank Abfrage
return 'admin_stinasbsmodulsingleorder.tpl';
} else {
return 'admin_stinasbsmodulallorders.tpl';
}
}
}
Mein Problem ist einfach dieser Redirect mit dem GET Parameter. ich werde immer komisch umgeleitet (ohne Admin sidebar). Ich nehme an das es an diesen FRAMESETs liegt und/oder den zusätzlichen GET Parametern.
Das klingt alles viel zu umständlich. Du kannst doch per AJAX auch bestimmen, welches TPL geladen werden soll. Schreib doch einfach mal, was genau angezeigt werden soll?
Wenn ich auf Products gehe und ein Produkt kaufe (per AJAX) dann soll ich auf Orders umgeleitet werden, aber nicht auf alle, sondern auf diesen einzelnen Order den ich eben gekauft habe.
Wenn ich normal auf Orders klicke soll ich einen Überblick (Tabelle) aller Order haben, und beim klick auf jeweiligen Order die Einzelübersicht (genau wie nach der Umleitung nach dem Produktkauf).
Achso, d.h. Du hast ein Backend-Order-Modul erstellt, mit dem “normale” Bestellungen für Kunden generiert werden? Und Menu heißt ganz normal menu.xml?
Durch die Umleitung (redirect) lädst Du insgesamt nur das Topframe, was natürlich ohne Sidebar etc. geladen wird. Schau Dir mal “_navAct” an.
Und zum laden der ID:
window.onload = function ()
{
top.reloadEditFrame();
[{ if $updatelist == 1}]
top.oxid.admin.updateList(‘[{ $oxid }]’);
[{ /if}]
}
Backend-Order-Modul, aber nicht für die Orders vom Shop, sondern Order von einer eigenen Produkt-Palette die von dem Modul selbst kommt. Und ja, normale menu.xml:
So wie ich das sehe ist _navAct() eine JavaScript funktion für das Verlinken von Admin Menüpunkten? Nimmt es auch eine URL als Parameter? Ich werde mir das jetzt ein bisschen besser ansehen, vielleicht ist das die Antwort.