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 Suche Plugin: Zusatzartikel mit einfacher Variationsauswahl Plugins für JTL-Shop 8
Neu Plugin "Verwalte deinen JTL Shop mit Excel Dateien" geht wohl nicht mit JTL-Shop 5.4.1 Plugins für JTL-Shop 1
Neu Update auf Shop 5.5.0 in Kombination mit Plugin "AmazonPay" nicht möglich - 500er Fatal Error JTL-Shop - Fehler und Bugs 13
Neu Sendcloud Plugin immer im Tab fehlerhaft - Lizenz abgelaufen Plugins für JTL-Shop 0
Neu Texteditor Hinweis Plugin von Webstollen Plugins für JTL-Shop 0
Neu Welches PlugIn für ein besseres Google Ranking? Plugins für JTL-Shop 2
Neu Händlerbund Plugin: "Zahlung und Versand" wird nicht automatisch übernommen Plugins für JTL-Shop 2
Neu Die Zahlungsart SOFORT ist eine Plugin-Zahlungsart für Mollie. Das zugehörige Plugin ist jedoch nicht installiert! Allgemeine Fragen zu JTL-Shop 0
Neu Plugin PayPal - capture failed for method PayPal Checkout Plugins für JTL-Shop 0
Neu Plugin-Update 2.4.1: JTL Exportformat Google Shopping Plugins für JTL-Shop 6
Neu Paypal Plugin läßt sich nicht installieren - SQL Fehler Plugins für JTL-Shop 2
Neu Paypal Plugin 2.0.1 Merachant JTL-Shop - Fehler und Bugs 10
Neu Plugin Fehler JTL-Shop - Fehler und Bugs 7
Neu PayPal Plugin 2.0 - Vaulting - Ist IMMER ein neues Onboarding nötig? Wie prüfen, ob OK? Plugins für JTL-Shop 6
Neu Plugin - Kindartikel in der Artikelübersicht anzeigen - SHOP-475 Plugins für JTL-Shop 7
Neu 🌟Neues Plugin: Produkt FAQ Plugins für JTL-Shop 0
Neu Neues Plugin - Der ultimative Super-Slider Plugins für JTL-Shop 0
Neu Update 5..50 + Plugin: JTL Exportformat Google Shopping Export Stopp JTL-Shop - Fehler und Bugs 6
Neu JTL-Shop 5.5.0 PayPal Plugin Installation / Updates von JTL-Shop 2
Neu Test Plugin lässt sich weder installieren, noch löschen Plugins für JTL-Shop 0
Neu ChatGPT Plugin Plugins für JTL-Shop 0
Neu Plugin Produktsicherheitsverordnung (GPSR) Plugin für den JTL-Shop 5 nicht PHP 8.4 fähig Technische Fragen zu Plugins und Templates 4
Neu 📢 Neues JTL-Software Plugin "Rechnung Download" by CIN GmbH Plugins für JTL-Shop 16
Neu JTL GPSR Plugin - Automatischer https://-Prefix trotz HTML-Formatierung im Hersteller-Text Plugins für JTL-Shop 7
Neu 📢 Plugin: "Video für Beschreibung (YouTube, Vimeo, andere Formate) 📢 Plugins für JTL-Shop 1
Neu Rechnungsdatenservice 2.0 : Wie initial Übergabe von Rechnungen mit Belegtyp (Belegkreis) "Rechnungsausgang" an Datev Unternehmen online? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Geschenkverpackung wird nicht mit übermittelt Amazon-Anbindung - Fehler und Bugs 0
Neu Externe E-Mail mit Auftragsdaten per Workflow erzeugen JTL-Workflows - Fehler und Bugs 4
Neu Bilder-Synchronisations-Schleife mit SW6 Shopware-Connector 0
Neu Lieferantenbestellung per CSV Import mit Ameise Artikel VPE JTL-Ameise - Fehler und Bugs 0
Export aller Kunden mit über xxx € Umsatz in xxx Tagen JTL-Wawi 1.10 4
Neu Kommentar / Notiz einblenden lassen bei Retoure am WMS? Oder Workflow bei Retoure mit kommentiertem Auftrag? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu iMin D4 Pro noch mit Android 13 - EOL August 2025 - Update? JTL-POS - Fragen zu Hardware 0
Neu Importieren von Artikelmerkmalen mit der Ameise JTL-Ameise - Ideen, Lob und Kritik 1
Probleme mit Lagerbestandsübertragung bei Otto nach Artikelnummernänderung Otto.de - Anbindung (SCX) 0
Neu Massive Probleme mit JTL-Connector zu Shopify – lohnt sich der Einsatz überhaupt? Shopify-Connector 8
Neu Automatisierung mit AI User helfen Usern - Fragen zu JTL-Wawi 3
Neu Kartenzahlung mit Zettle - "Netzwerkfehler" Allgemeine Fragen zu JTL-POS 0
Neu Ist JTL-POS mit dem SumUp 3G+ kompatibel? JTL-POS - Fragen zu Hardware 1
Teilrechnung erstellen mit JTL Packtisch JTL-Wawi 1.10 4
Neu Optimale Einstellungen für Mitarbeitende mit Beeinträchtigungen finden Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Workflow mit Bedingung Lieferant wird nicht mehr ausgeführt JTL-Wawi 1.9 1
Neu Bug - Grundpreis bei Preis mit Rabatt ist falsch JTL-Shop - Fehler und Bugs 0
Neu DHL Labels kommen sehr stark verzögert raus oder Fehler: "Die HTTP-Anforderung wurde mit Clientauthentifizierungsschema "Anonymous" nicht zugelassen." JTL-ShippingLabels - Fehler und Bugs 0
JTL Wawi App (Ipad iOS) mit Wawi System 1.9.6.5 verknüpfen JTL-Wawi App 1
Import mit Ameise von "Varianten" JTL-Wawi 1.10 1
Neu Export Auftragspositionen mit Positionswerten und diversen Kundendaten JTL-Wawi 1.7 2
Probleme mit Rechnungs-Betrag JTL-Wawi 1.9 4
Nach Update: Shop Lizenz gültig aber mit anderen Kundenkonto verknüpft JTL-Wawi 1.10 1
Wawi 1.9.8.0 mit Gmail OAuth wird blockiert JTL-Wawi 1.9 0

Ähnliche Themen