Gelöst Plugin mit tpl include oder iframe

Status
Es sind keine weiteren Antworten möglich.

moeve

Aktives Mitglied
19. Mai 2015
64
0
Tostedt
Guten morgen.

Ich erstelle gerade ein Plugin, welches die Funktion haben soll, dass wenn auf einen von 3 Buttons gedrückt wird, sich ein Contentbereich ändern soll.
Ich möchte die Seite nicht über die php-Datei neuladen, sondern es soll sich nur der Inhalt eines Kastens ändern.

Meine erste Idee war es mit einem <iframe> zu versuchen, aber es kommt immer die Meldung "Permission denied" für die erstellten tpl-dateien. Auch beim {include file=""} musste ich feststellen, dass die entsprechende tpl-Datei nicht im Plugin-verzeichnis sein darf, sondern ich mir im tpl_inc-Ordner einen eigenen Unterordner erstellen musst, was ich auch ungerne machen möchte, da sich alle zugehörigen Dateien in dem Plugin befinden sollen.

Hat einer dazu eine Idee oder könnte mir eine Richtung vorgeben, was man noch probieren könnte?


Viele Dank schonmal.
 
Zuletzt von einem Moderator bearbeitet:

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
9
Thailand, Bangkok
AW: Plugin mit tpl include oder iframe

Nachladen von Content am Besten via AJAX.

GET Request an die index.php > Plugin Datei am POST/GET Hook > TPL Datei "einlesen" und ausgeben und via JavaScript den Bereich "ersetzen".

So wie ich das deinem Post entnehmen kann, stehst du scheinbar aber noch am Anfang deiner JTL-Entwicklerlaufbahn und dürftest ne Weile brauchen. Es ist die Mühe aber wert...
 

moeve

Aktives Mitglied
19. Mai 2015
64
0
Tostedt
AW: Plugin mit tpl include oder iframe

@boaa-group Da hast du Recht. Dieser ganze Bereich ist für mich Neuland, normalerweise bin ich in der Welt von Java und C++ unterwegs.

GET Request an die index.php > Plugin Datei am POST/GET Hook > TPL Datei "einlesen" und ausgeben...

Dieses verstehe ich noch nicht richtig. Nutze den Hook 140, zum aktivieren meines Plugins und steuer das einfügen der tpl-Datei über die Abfrage eines div->id, damit ich per Query auf die Datenbank zugreifen kann und später die tpl per pq() ausgeben kann. Oder ist dieser Ansatz in einem Plugin falsch?

Nadann werde ich mich "maleben" dem Javaskript widmen und sehen wir dort der Content-change funktioniert.
 

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
9
Thailand, Bangkok
AW: Plugin mit tpl include oder iframe

Das kommt darauf an was du wo genau ändern möchtest. Da du ja "onclick" arbeiten möchtest wäre es einfacher eine PHP Datei an HOOK 132 zu haben und in deiner info.xml einfach eine JavaScript Datei einzubinden (siehe JTL Beispielplugin).

In der JavaScript Datei kannst du dann ja
Code:
if($('body').data('page') == 'xx'){
    dein Code
}
xx ... SeitenTyp (zB 18 für Startseite...)

erstmal festlegen auf welchen Seiten dein JS überhaupt arbeiten soll.

Innerhalb der IF-Bedingung machst du dann etwas ala

Code:
$('body').on('click', '#id.class', function(e){
    deine Funktion
});

damit deine Funktion eben nur beim Klick auf das Element mit der ID bzw. Klasse ausgeführt wird die du möchtest.
Ich nutze hier übrigens .on() um sicherzustellen, dass deine Trigger auch nach Änderung des Contets zB auf Artikeldetailseiten nach Laden eines Var.Kombi Kindartikels immer noch funktionieren.

Deine Funktion wäre dann ein AJAX Call (siehe dazu jQuery.ajax() | jQuery API Documentation bzw. gezielt für GET Requests https://api.jquery.com/jquery.get/) bei dem deine Ziel URL index.php wäre.

In deiner PHP Datei am Hook 132 hast du dann zB:

Code:
if(isset($_GET['deinParameter']) && $_GET['deinParameter'] == 'deinWert'){
    $geparsterInhaltdeinerTPL = $smarty->fetch($oPlugin->cFrontendPfad . '/deineTPLDatei.tpl');

    echo $geparsterInhalt;
    exit();
}

in der jQuery AJAX/GET funktion bekommst du dann quasi dein HTML als "data" zurückübergeben (siehe Beispiele auf den oben verlinkten seiten) und brauchst dann im .done() Block deines AJAX/GET Aufrufs nur etwas ala

Code:
$('#zielid.zielclass').html(data);

Und schon wird der Inhalt des Elements mit dem übermittelten Code ersetzt.

Da fehlt jetzt natürlich noch bisschen was um Fehler abzufangen falls "data" leer ist usw... aber das wär's im Großen und Ganzen.

Kann natürlich sein, dass ich deine Anforderungen nicht 100% verstanden habe oder ein anderer Entwickler eine effizientere Lösung kennt ;)
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
232
AW: Plugin mit tpl include oder iframe

Je nach Komplexität könntest du auch direkt alle Inhalte der Seite in hidden-DIVs rein setzen und dann nur per javascript auf das Click-Event die div-classes tauschen/löshen.
 

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
9
Thailand, Bangkok
AW: Plugin mit tpl include oder iframe

Dieses verstehe ich noch nicht richtig. Nutze den Hook 140, zum aktivieren meines Plugins und steuer das einfügen der tpl-Datei über die Abfrage eines div->id, damit ich per Query auf die Datenbank zugreifen kann und später die tpl per pq() ausgeben kann. Oder ist dieser Ansatz in einem Plugin falsch?

Ich denke das ist Geschmackssache. phpQuery dient dazu den DOM zu manipulieren also "einmalige" Änderungen durzuführen (meiner Meinung nach), wenn du aber dynamisch onClick Dinge ändern möchtest macht es mehr Sinn die dann auch dynamisch wie du sie brauchst via JS zu holen.

Falls du einen Button vorangeklickt haben willst schreibst du übrigens in die IF-Anweisung im JS noch...

Code:
$('#iddesbuttons.classdesbuttons').trigger('click');

Dann wird quasi direkt bei Aufruf erstmal der Button geklickt > der erste Inhalt geladen.
Optional wäre hier dann aber auch der Hook 140 angebracht um deinen "Startinhalt" eben einmalig direkt an die gewünschte Stelle zu bringen.

EDIT: Oder die Lösung von AG-Websolutions direkt alle Inhalte zu hinterlegen und nur via JS ein- und ausblenden.

Gibt viele Wege die zum Ziel führen :)
 

moeve

Aktives Mitglied
19. Mai 2015
64
0
Tostedt
AW: Plugin mit tpl include oder iframe

Wollte mich nochmal kurz zurück melden.

Nochmals vielen Dank für eure Hilfe. Habe das Problem nun ohne iframe, aber mit javskript gelöst bekommen.
 
Status
Es sind keine weiteren Antworten möglich.
Ähnliche Themen
Titel Forum Antworten Datum
Neu Klarna Plugin mit JTL Shop 5.4.0 lässt Pay Now nicht zu Plugins für JTL-Shop 17
Neu GPSR mit JTL Wawi + Plugin JTL-Wawi - Fehler und Bugs 5
Welche GPSR Plugin-Einstellungen mit WaWi 1.9.6.1 JTL-Wawi 1.9 8
Neu Plugin mit transparentem Hintergrund (Auswahlassistent) Plugins für JTL-Shop 1
Neu Probleme mit PayPal-Plugin: Bestellungen "pending" & doppelte Zahlungen nach Direktzahlung Plugins für JTL-Shop 0
Neu Bekomme das GPSR Plugin nicht installiert Plugins für JTL-Shop 2
Neu 💙 Neues Plugin: Adresse Auto-Complete (Adressdaten automatisch befüllen) Plugins für JTL-Shop 0
Neu Budget Plugin? Plugins für JTL-Shop 0
Neu Produktsicherheit "GPRS Plugin" (Testkunden) gesucht Plugins für JTL-Shop 2
Neu 💙 Neues Plugin: JTL-ServerDashboard Pro (kompakte Serverinformationen anzeigen) Plugins für JTL-Shop 0
Neu 💙 Neues Plugin: Ähnliche Artikel als Liste (Ähnliche Artikel vergleichen) Plugins für JTL-Shop 0
Neu JTL GPSR Plugin, Herstellerdaten im Tab anzeigen lassen? Allgemeine Fragen zu JTL-Shop 1
Neu Selber Plugin erstellen Plugins für JTL-Shop 3
Neu GPRS Plugin Infos doppelt und in Artikelliste Plugins für JTL-Shop 2
Neu Plugin-Manager Error 500 Technische Fragen zu Plugins und Templates 2
Neu Lizenkosten Shopware 6 Plugin ? Shopware-Connector 7
Neu Worüber Klarna am besten nutzen? Mollie oder Plugin? User helfen Usern - Fragen zu JTL-Wawi 1
Voucher Guthaben Payment Plugin Berechnen Allgemeine Fragen zu JTL-Vouchers 0
Neu Plugin für Bundles gesucht Plugins für JTL-Shop 4
Neu GPSR Plugin wird nicht bei allen Artikeln angezeigt Plugins für JTL-Shop 18
Neu GPSR Plugin Formatierung anpassen. Plugins für JTL-Shop 8
Neu GPSR Plugin Installation haut nicht hin Plugins für JTL-Shop 2
Neu 📢 Plugin "Verbotene Artikel: Kauf nur für richtige Kundengruppe" by NETZdinge.de Plugins für JTL-Shop 1
Neu GPSR Plugin Format Fehler Plugins für JTL-Shop 0
Neu Payment plugin order number Plugins für JTL-Shop 0
Plugin: JTL Exportformat Google Shopping - Mindermengenzuschlag Einrichtung JTL-Shop5 0
Neu Nach Update auf JTL GPSR-Plugin 1.0.3 vom Backend ausgeschlossen Plugins für JTL-Shop 25
Beantwortet Plugin Dev: Setting-Links Spacer Problem (info.xml) JTL-Shop - Fehler und Bugs 1
Neu Paypal Plugin wird von akutellen IOS Geräten nicht geladen Plugins für JTL-Shop 17
Neu Warnung bei Paypal Plugin Plugins für JTL-Shop 4
Neu WARNUNG JTL GPSR Plugin 1.0.2 funktioniert nicht, wenn Artikel keine Beschreibung hat Plugins für JTL-Shop 20
Neu Neues Datatrans-Plugin als Alternative zu CustomWeb/Sellxed – inkl. Twint, PostFinance und PowerPay 🚀 Plugins für JTL-Shop 0
Neu Zahlung Kreditkarte nicht möglich (Paypal Plugin) JTL-Shop - Fehler und Bugs 5
Neu KI-Plugin für JTL-Shop - Eure Meinung ist gefragt! 🚀 🤖 Plugins für JTL-Shop 1
Neu GPSR-Plugin ignoriert Hersteller-Firmenangabe JTL-Shop - Fehler und Bugs 5
Neu Felder vom neuen Plugin importieren möglich? Shopware-Connector 0
Neu GPSR Plugin für Gambio Connector steht bereit Gambio-Connector 0
Neu DRINGEND Hilfe - Google Analytics Plugin JTL-Shop - Fehler und Bugs 4
Neu PlugIn: JTL GPSR Plugins für JTL-Shop 32
Neu Plugin Suche: Mailchimp Plugins für JTL-Shop 0
Neu Template Dateien Rendern im Plugin Plugins für JTL-Shop 6
Neu 🎉 Neues Plugin: "Versandkosten und Lieferzeit automatisch beziehen - ShipMonk Extension" 🎉 Plugins für JTL-Shop 1
Neu 🎉 Neues Plugin: "Versandkosten und Lieferzeit automatisch beziehen - DHL-Express Extension" 🎉 Plugins für JTL-Shop 3
Neu Proxmox mit Android x86 Version 8.1 JTL-POS - Fragen zu Hardware 2
Neu Problem mit der Verbindung von JTL-Wawi (1.5.48.2) und WooCommerce (Version 9.5.2) User helfen Usern - Fragen zu JTL-Wawi 0
Rechnung mit Rechnungskorrektur begleichen JTL-Wawi 1.9 2
Neu Nachforschungaufträge der DPD mit Worker automatisieren JTL-ShippingLabels - Fehler und Bugs 0
Neu 🛒𝐍𝐞𝐮𝐞𝐬 𝐏𝐥𝐮𝐠-𝐈𝐧: Eigene Lösung für Rechnungskauf mit Bonitäts- & Betrugsprüfung direkt im Check-out - JTL5? Plugins für JTL-Shop 0
Neu Anteiliger Umsatz mit Shopguthaben wird in Bestellung nicht richtig dargestellt Allgemeine Fragen zu JTL-Shop 0
Neu 1 Lager, mit zwei Lagerbeständen von zwei Firmen User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen