Neu Mit phpquery Inhalt nachladen und PHP-Code/Smarty ausführen

cdx

Sehr aktives Mitglied
13. März 2013
1.513
39
Hallo,

kann ich mit phpquery PHP-Code nachladen und ausführen???

Ich habe jetzt das Code von http://docs.jtl-shop.de/de/latest/shop_plugins/hooks.html genommen und einwenig geändert.

index.php <--- Datei (Startdatei von meinen Plugin.)
Code:
$template = $oPlugin->cFrontendPfad . 'test.php';
# $plugin = file_get_contents($template);
echo '<pre>';
pq('#mein_slider_gatx')->append($smarty->fetch($template));
test.php <--- Liegt in gleichen Verzeichnis wird nachgeladen.
Code:
<h2>Hallo Welt</h2>
<?php

$meinArray =[1,2,3];

echo '<pre>';
print_r($meinArray);
echo '</pre>';
Bei mir wird auf der Startseite immer Hallo Welt '; print_r($meinArray); echo ''; ausgegeben und nicht Array-Inhalt.
Wie kann ich PHP-Code ausführen???

Noch eine Frage in Dokumentation steht HOOK_SMARTY_OUTPUTFILTER (ID 140) wo muss ich diese Hooks reinschreiben??? Wie verwende ich diese Hooks???
 

cdx

Sehr aktives Mitglied
13. März 2013
1.513
39
Entschuldige bitte, aber die Dokumentation meiner Meinung nach ist nicht besonders ausführlich. Sehr wenig Beispiele.

Kannst du bitte erklären wozu ich diese Klasse brauche???

Wenn ich es als Array ausgeben lasse erscheint folgendes

Code:
jtlExampleHelperKlasse Object
(
    [db:jtlExampleHelperKlasse:private] => NiceDB Object
        (
            [db:protected] =>
            [isConnected:protected] => 1
            [logErrors] =>
            [logfileName] => /var/www/benutzer/html/unser_shop/jtllogs/DB_errors.log
            [debug:NiceDB:private] =>
            [debugLevel:NiceDB:private] => 0
            [collectData:NiceDB:private] =>
            [pdo:NiceDB:private] => PDO Object
                (
                )

            [state] => instanciated
            [config:NiceDB:private] => Array
                (
                    [driver] => datenbank_driver
                    [host] => localhost_name
                    [database] => datenbank_name
                    [username] => datenbank_benutzer
                    [password] => datenbank_passwort
                    [charset] => latin1
                )

            [transactionCount:NiceDB:private] => 0
        )

    [plugin:jtlExampleHelperKlasse:private] => Plugin Object
        (
            [kPlugin] => 7
            [nStatus] => 2
            [nVersion] => 100
            [nXMLVersion] => 100
            [nPrio] => 0
            [cName] => Plugin-Name
            [cBeschreibung] => JTL-Erweiterung
            [cAutor] => Peter
            [cURL] => https://www.example.com
            [cVerzeichnis] => in_kuerze_verfuegbar
            [cPluginID] => in_kuerze_verfuegbar
            [cFehler] =>
            [cLizenz] =>
            [cLizenzKlasse] =>
            [cLizenzKlasseName] =>
            [cPluginPfad] => /var/www/benutzer/html/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/
            [cFrontendPfad] => /var/www/benutzer/html/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/frontend/
            [cFrontendPfadURL] => https://example.com/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/frontend/
            [cFrontendPfadURLSSL] => https://example.com/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/frontend/
            [cAdminmenuPfad] => /var/www/benutzer/html/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/adminmenu/
            [cAdminmenuPfadURL] => https://example.com/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/adminmenu/
            [cLicencePfad] => /var/www/benutzer/html/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/licence/
            [cLicencePfadURL] => https://example.com/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/licence/
            [cLicencePfadURLSSL] => https://example.com/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/licence/
            [dZuletztAktualisiert] => 2018-01-23 16:02:07
            [dInstalliert] => 2018-01-23 16:02:07
            [dErstellt] => 2018-01-23
            [oPluginHook_arr] => Array
                (
                    [0] => stdClass Object
                        (
                            [kPluginHook] => 16
                            [kPlugin] => 7
                            [nHook] => 140
                            [cDateiname] => auf_startseite_hook.php
                            [nPriority] => 5
                        )

                )

            [oPluginAdminMenu_arr] => Array
                (
                )

            [oPluginEinstellung_arr] => Array
                (
                )

            [oPluginEinstellungConf_arr] => Array
                (
                )

            [oPluginEinstellungAssoc_arr] => Array
                (
                )

            [oPluginSprachvariable_arr] => Array
                (
                )

            [oPluginSprachvariableAssoc_arr] => Array
                (
                )

            [oPluginFrontendLink_arr] => Array
                (
                )

            [oPluginZahlungsmethode_arr] => Array
                (
                )

            [oPluginZahlungsmethodeAssoc_arr] => Array
                (
                )

            [oPluginZahlungsKlasseAssoc_arr] => Array
                (
                )

            [oPluginEmailvorlage_arr] => Array
                (
                )

            [oPluginEmailvorlageAssoc_arr] => Array
                (
                )

            [oPluginAdminWidget_arr] => Array
                (
                )

            [oPluginAdminWidgetAssoc_arr] => Array
                (
                )

            [oPluginUninstall] =>
            [dInstalliert_DE] => 23.01.2018 16:02
            [dZuletztAktualisiert_DE] => 23.01.2018 16:02
            [dErstellt_DE] => 23.01.2018
            [cPluginUninstallPfad] =>
            [cAdminmenuPfadURLSSL] => https://example.com/unser_shop/includes/plugins/in_kuerze_verfuegbar/version/100/adminmenu/
            [pluginCacheID] => plgn_7_100
            [pluginCacheGroup] => plgn_7
            [cIcon] => preview.png
            [bBootstrap] => 0
            [nCalledHook] => 140
            [cTextReadmePath] =>
            [cTextLicensePath] =>
        )

)
Wie kann ich kann ich an $productlist kommen oder muss ich es selbst erstellen lassen???
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
737
83
Halle (Saale)
Du brauchst die Klasse überhaupt nicht - die dient hier nur der besseren Organisation.
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.