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 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 Anbindung an Idealo mit Plugin gesucht Schnittstellen Import / Export 1
Neu Plugin: WooCommerce Wallet oder Gutscheine mit JTL nutzen - Fehler in der MwSt User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie andere Länder und Sprachen vom Google Shopping Plugin mit dem Merchant Center verbinden Plugins für JTL-Shop 6
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 15
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 S: Plugin Dropdown-Menü für meine Kategorien Plugins für JTL-Shop 10
Neu "Warenkorb teilen als Link" Plugin by Visitmedia Plugins für JTL-Shop 2
Neu Das JTL Shop gratis Plugin GPSR Verordnung - sieht mies aus, belastet die Datenbank, Excel Bearbeitung unmöglich Betrieb / Pflege von JTL-Shop 30
Neu PAYONE Plugin keine Bestellabschluss Seite Plugins für JTL-Shop 0
Neu 📢 Neues Plugin: "GPSR Herstellerinformationen" 📢 Plugins für JTL-Shop 31
Neu Mollie Plugin und stornierte "Klarna Pay Later" Zahlungsaufforderungen. Plugins für JTL-Shop 0
Neu JTL Plugin fuer Wordpress Plugin wirft Error/success Fehler WooCommerce-Connector 2
Neu JTL Google Shopping Plugin - Bilder Updaten Plugins für JTL-Shop 3
Neu Frage zu Plugin Entwicklung : IO Request im Admin Technische Fragen zu Plugins und Templates 2
Neu Google Shopping Plugin - Artikel filtern Plugins für JTL-Shop 3
Neu Rollenbasiertes Kunden-Plugin (B2B) Plugins für JTL-Shop 1
Neu Frage zur Plugin Entwicklung Plugins für JTL-Shop 3
Neu Eigenes Plugin und der cache.. Plugins für JTL-Shop 3
Probleme beim Export mit der Ameise JTL-Wawi 1.7 1
Neu Artikelimport bricht mit Fehlermeldung ab JTL-Ameise - Fehler und Bugs 0
Neu LS-POS mit COM-Port in RDP Sitzung langsam Fragen rund um LS-POS 0
WAWi Workflows mit Zahlungen als Bedingung funktioniert nicht JTL-Workflows - Fehler und Bugs 0
Neu Verdandliste Pro Paket das Gewicht mit ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Paternoster Umlaufregal mit JTL Wawi möglich? JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Neu Aufträge mit nicht verfügbaren Artikeln automatisch zurückhalten User helfen Usern - Fragen zu JTL-Wawi 2
Neu WooCommerce Connector Problem mit nachträglich abgebrochenen Bestellungen Onlineshop-Anbindung 0
Neu Überverkäufe mit Kindartikeln - wie richtig einstellen ? User helfen Usern - Fragen zu JTL-Wawi 23
Neu Problem mit Variationen-Artikeln JTL-Shop - Fehler und Bugs 2
Neu WMS - Nachträglicher Labeldruck mit Adressänderung Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Connector Verhalten mit Tracking Nummern und Versandbestätigungen Shopify-Connector 0
Neu OTTO-Marketplace Versand NICHT mit DHL möglich? Smalltalk 4
Neu Frage an die (Hobby-) Controller: B2C Einzelhandel mit 6% Marketingbudget - das ist normal? Business Jungle 7
Neu Probeme WaWi mit POS verbinden - failed to connect - server IP 127.0.0.1 Einrichtung / Updates von JTL-POS 0
Neu Immense Probleme mit dem Aufschalten neuer Produkte Amazon-Anbindung - Fehler und Bugs 0
Neu Aufträge mit falsche Steuerart angelegt User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wawi Auftrag in JTL POS öffnen (problem mit Kartenzahlung) Allgemeine Fragen zu JTL-POS 0
Neu Wie erstelle ich Bundles mit JTL Wawi? User helfen Usern 1
Auftrag Inlandskunde mit USt-Id - wie erfassen JTL-Wawi 1.7 6
Konfigurationsartikel mit 0 € vs. Preise der einzelnen Komponenten mit 0 € Einrichtung JTL-Shop5 1
Neu Zahlungsart Überweisung mit Skonto Allgemeine Fragen zu JTL-Shop 1
Neu Übersicht Verkauf mit Artikelmenge und durchschnittlichem VK netto Eigene Übersichten in der JTL-Wawi 6
Neu Artikel mit negativem Preis (Gutschein) eingeben kompliziert...geht das einfacher? Allgemeine Fragen zu JTL-POS 3

Ähnliche Themen