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
233
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 Beim Versuch Paypal-Plugin mit Paypal-Konto zu verbinden Shop nicht mehr erreichbar Plugins für JTL-Shop 2
Neu Neues Plugin: Produktbundles mit Rabatten Plugins für JTL-Shop 0
Neu Installation von Plugin PayPal Check-Out fehlgeschlagen, keine Verbindung zum Webshop Plugins für JTL-Shop 6
Neu Widerrufsformular als kostenloses Plugin für Shops ab 5.1.5 Plugins für JTL-Shop 9
Neu Neues Plugin: Kaufimpuls Paket Plugins für JTL-Shop 0
Neu Paypal Checkout Plugin - Ist vorhanden aber nichts funktioniert Plugins für JTL-Shop 9
Neu Neues Plugin: Sauberes Meta-Tracking für JTL-Shop 5 (Pixel + CAPI + Consent) Plugins für JTL-Shop 0
Neu 📢 Plugin "Kreditlimit Plugin für JTL-Shop 5 " von CIN GmbH Plugins für JTL-Shop 0
Neu Händlerbund-Plugin lädt Texte herunter, ersetzt sie aber nicht im Frontend Technische Fragen zu Plugins und Templates 1
Neu 503 Service Unavailable bei Payrexx Webhook nach Plugin-Update - wer hat das auch? Plugins für JTL-Shop 0
Neu JTL-Shop 5.2.3 – Google-Shoppin-Plugin 2.3.0: Mehrere Rückgaberichtlinien (DE + Ausland) bei einem Feed / return_policy_label Plugins für JTL-Shop 0
Neu Aufträge mit JTL-Pos gezahlt im Tagesabschluss (Lexware Office) Allgemeine Fragen zu JTL-POS 0
Neu Bilder importieren mit "vorhandene Bilder vor dem Import entfernen und neu importieren" > eigenartiges Verhalten JTL-Ameise - Fehler und Bugs 2
Problem mit Hintergrundfarbe Einrichtung JTL-Shop5 1
Neu Artikel letzte 10 Versanddaten, sortiert nach Datum mit Plattform Eigene Übersichten in der JTL-Wawi 3
Neu Worker Abgleich mit dem Onlineshop "mit Fehlern beendet" Onlineshop-Anbindung 4
Neu JTL, was ist eigentlich los mit euch? JTL-Wawi - Fehler und Bugs 5
Gelöst Bekannte Störung: Fehler "Der Inhaltstyp text/html stimmt nicht mit text/xml überein" bei der Labelerstellung JTL-ShippingLabels - Fehler und Bugs 1
Neu BIETE: 2x Fetra 2892 Kommissionier-/Lagerwagen mit Sichtlagerkästen Dienstleistung, Jobs und Ähnliches 0
Neu Export Käuferliste mit Seriennummern User helfen Usern - Fragen zu JTL-Wawi 4
Neu Problem bei Varianten-Upload mit Amazon Lister 2.0 (Attribut-Mapping Farbe/Größe) Onlineshop-Anbindung 1
Neu Probleme mit Inaktive Verkaufskanäle User helfen Usern - Fragen zu JTL-Wawi 0
Neu Vorsicht - eComData "Upgrades" ab 01.04.2026 mit gleichzeitigem Paketwechsel verursacht teilweise 100% mehr Kosten! Smalltalk 6
Verkauf: Positionsname mit Hersteller möglich? JTL-Wawi 1.11 9
Neu Für die Weiterentwicklung und Betreuung unserer bestehenden Systemlandschaft suchen wir einen erfahrenen Freelancer (m/w/d) mit fundierten Kenntnissen JTL-Wawi App 1
Update von 1.11.6 auf 1.11.7: JTL Worker verbindet nicht mehr mit Datenbank (WaWi schon) JTL-Wawi 1.11 1
Neu Repricer Erfahrungen mit JTL gesucht User helfen Usern - Fragen zu JTL-Wawi 0
Neu Checkout Probleme mit Pflichtfeldangaben Allgemeine Fragen zu JTL-Shop 4
Neu OSS aktiv – Ausnahme für Eventtickets mit deutschem Leistungsort möglich? Allgemeine Fragen zu JTL-Shop 6
Neu Zusatzartikel, Stückliste, Variation den Kunden direkt mit anbieten (Shop/Ebay) User helfen Usern - Fragen zu JTL-Wawi 6
Neu Kundenkonto mit UID und Bestellung als Gast JTL-Shop - Fehler und Bugs 14
Neu Sprachvariablen Textbausteine mit "." im Namen lassen sich nicht ändern JTL-Shop - Fehler und Bugs 2
Neu 12.400 Versandumschläge B4 / 6.400 Braun und 6.000 Weiß mit Faltböden / Klappböden Dienstleistung, Jobs und Ähnliches 4
Neu Kann man mit JTL Gebrauchtware verkaufen? User helfen Usern - Fragen zu JTL-Wawi 8
Neu Synchronisation mit Shop mit Fehlern beendet Onlineshop-Anbindung 17
Neu Mehrere Kartons in einem Auftrag mit nur einem DHL-Label Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 12
Neu Kunde zahlt zuviel mit PayPal Plugins für JTL-Shop 0
Neu Wawi Synchronisation mit JTL Shop nicht möglich! seit 3 Stunden was kann man machen? Onlineshop-Anbindung 1
Neu Export Kundendaten mit Label in WAWI 1.9.6.5 JTL Ameise - Eigene Exporte 1
Neu Ebay Artikel mit Fehlern / Export eBay-Anbindung - Ideen, Lob und Kritik 3
Neu Newsletter Anmeldung speichert Namen mit HTML-Entities JTL-Shop - Fehler und Bugs 1
Neu Fehler mit der Kartenzahlung Einrichtung / Updates von JTL-POS 9
Rechnung mit oder ohne ZUGFeRD XML speichern JTL-Wawi 1.11 4
Neu WMS Mobile / kein QR Code Scan in das Passwort Feld mit Zebra MDE JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Inaktive Amazon Angebote mit Fehlern - Preisfehler, GPSR usw. Amazon-Anbindung - Ideen, Lob und Kritik 0
Neu Samsung TAB A7 + Swissbit TSE USB-Stick mit JSAUX Adapter OTG Typ C auf USB JTL-POS - Fragen zu Hardware 1
Neu Probleme mit Cache Einstellungen / HTTP 500 - memory limit exceeded JTL-Shop - Fehler und Bugs 9
Neu Kassenbon mit Rabatt Angabe Allgemeine Fragen zu JTL-POS 1
Artikel mit Bestand 0 ausblenden JTL-Wawi 1.9 5
Neu Übertragung an DATEV mit Besonderheit der Kasse (LS-POS) User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen