Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:jtl-shop:jtl-shop

eigene Plugins programmieren

PQ Selector & Plugin Programmierung

Um Inhalte zu überschreiben sollte man sich der PQ Funktion bedienen.
PQ(<selector>)→<Funktion>

Info's unter: https://code.google.com/archive/p/phpquery/wikis/Manipulation.wiki


Beispiele:

pq('#tsReviewStickerWrapper')->append($ts_ReviewStickerCode);
pq('#sidebox_ts_rating')->remove();
pq('body')->append('<h3>Variablen:</h3><pre>' . print_r($mailSmarty->getTemplateVars(), true) . '</pre>');
pq('#panel-edit-coupon')->parent()->remove();
pq('head > link[data-theme]')->attr('disabled', true);
pq('head > link[data-theme="' . $cTheme . '"]')->removeAttr('disabled');

Programmierung

Es geht einfach nur um die folgenden Schritte:
1) Ein PHP-Datei für Hook 140 anlegen
2) Darin via $smarty→assign() Variablen bereitstellen
3) Ein Template anlegen, das HTML erzeugen soll. Hier kann die zuvor assignte Variable genutzt werden.
4) Via $smarty→fetch() das HTML generieren
5) Das erzeugte HTML mit pq() in den DOM einfügen.

// 1. Variablen welche im TPL benötigt werden SMARTY zuweisen
 $smarty->assign('some_text', $someText);
 $smarty->assign('lang_var_1', vsprintf($this->plugin->oPluginSprachvariableAssoc_arr['xmlp_lang_var_1'],
 array($this->calculatePi(), $this->plugin->nVersion)));
 
// 2. Template einlesen un rendern
 $html = $smarty->fetch($file);
 
// 3. Einstelungen aus der XML auslesen
 $function = $this->plugin->oPluginEinstellungAssoc_arr['jtl_example_pqfunction'];
 $selector = $this->plugin->oPluginEinstellungAssoc_arr['jtl_exmple_pqselector'];
 
//4. PQ aufrufen
 pq($selector)->$function($html);
<Setting type="text" initialValue="#content" sort="21" conf="Y">
 <Name>PHP-Query-Selektor</Name>
 <Description>Ein beliebiger PHP-Query-Selektor</Description>
 <ValueName>jtl_exmple_pqselector</ValueName>
</Setting>
 
== config Einstellungen in der XML ==
<Setting type="selectbox" initialValue="append" sort="22" conf="Y">
 <Name>PHP-Query-Funktion</Name>
 <Description>Welche Funktion soll für das Einfügen des Templates verwendet werden?</Description>
 <ValueName>jtl_example_pqfunction</ValueName>
<SelectboxOptions>
 <Option value="append" sort="1">append() - Als als letztes Kind in Selektor einfügen</Option>
 <Option value="prepend" sort="2">prepend() - Als erstes Kind in Selektor einfügen</Option>
 <Option value="after" sort="3">after() - Nach Selektor einfügen</Option>
 <Option value="before" sort="4">before() - Vor Selektor einfügen</Option>
 <Option value="replaceWith" sort="4">replaceWith() - Selektor durch Inhalt ersetzen</Option>
</SelectboxOptions>
</Setting>

Gutes Beispiel für replacewith https://api.jquery.com/replaceWith/

Diese Website verwendet nur für den Betrieb notwendige Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer sowie den Datenschutzbestimmungen zu. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
programmieren:jtl-shop (637 views) · Zuletzt geändert: 04/03/2020 11:40 von conny

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki