/ / Opencart ohne die Vorlage laden (oder Teile davon außerhalb der Vorlage verwenden) - php, e-commerce, opencart

Laden Sie opencart ohne Vorlage (oder verwenden Sie Teile davon außerhalb der Vorlage) - php, e-commerce, opencart

Ich arbeite an einer Website, die ich nicht gemacht habe. Es besteht aus zwei Teilen: der Präsentations-Website und dem OpenCart für den E-Commerce-Teil.

Ich muss einige Funktionen von OpenCart nutzen, insbesondere um Zugriff auf die wichtigsten Tools (Warenkorb, Preis der Artikel im Warenkorb ...) auf der Präsentations-Website (nicht in der OpenCart-Vorlage) zu haben.

Also habe ich mich gefragt, ob ich irgendwie OpenCart und seine Funktionen laden kann, ohne die Vorlage zu laden, wenn ich sie nicht brauche.

Ich weiß, dass es scheinbar intuitiv klingt und die Seitenladezeit erhöhen kann, aber ich habe keine große Wahl, da ich die Zeit habe, die ich brauche, und die Erfahrung, die mir bei OpenCart fehlt.

BEARBEITEN: Okay, ich habe das am Ende der index.php Datei des offenen Einkaufswagens hinzugefügt:

if($_GET["module"] == "website") {
include("website/index.php");
} else {
// Output
$response->output();
}

Theoretisch wird OpenCart auf meine Website geladen. Aber meine Vermutung in dieser Ausgabe () nennt die Vorlage UND es ist Controller, so habe ich nicht Zugriff auf die Variablen, die ich brauche: $ Login, $ Text_login, $ Warenkorb, $ Checkout ... die Toolbox-Variablen. Ich denke, ich muss den Controller anrufen, aber ich habe keine Ahnung, welcher Controller für welche Variable verwendet wird ... Wenn Sie eine Idee haben, wäre ich wirklich dankbar.

Danke, Antoine

Antworten:

2 für die Antwort № 1

Dies erfordert einiges an Arbeit. Sie müssen im Wesentlichen die index.php-Datei auf der Katalogseite duplizieren und nicht den letzten Teil des Codes ausführen, nämlich diesen

// Maintenance Mode
$controller->addPreAction(new Action("common/maintenance"));

// Router
if (isset($request->get["route"])) {
$action = new Action($request->get["route"]);
} else {
$action = new Action("common/home");
}

// Dispatch
$controller->dispatch($action, new Action("error/not_found"));

und dann können Sie eigene Aktionen einrichten, um Code usw. anzuzeigen oder die benötigten Klassen direkt zu laden