Neu Eigene Funktion in NOVA schreiben

wespread.online

Mitglied
29. September 2020
52
7
Also wenn ich laut der Dokumentation: https://docs.jtl-shop.de/de/latest/...cks.html#eigene-smarty-funktionen-integrieren

im Child-Template in Bootstrap.php folgende Funktion schreibe:

PHP:
class Bootstrap extends \Template\NOVA\Bootstrap
{
    public function getPI($precision)
    {
        $iterator = 1;
        $factor   = -1;
        $nenner   = 3;

        for ($i = 0; $i < $precision; $i++) {
            $iterator = $iterator + $factor / $nenner;
            $factor   *= -1;
            $nenner   += 2;
        }

        return $iterator * 4;
    }
}
und in Template nutze:
PHP:
{getPi(12)}
dann bekomme ich folgende Fehler:

"{getPi(12)}" unknown function 'getPi'
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
941
155
Halle (Saale)
Kann es sein, dass du den Artikel nicht ganz zu Ende gelesen hast? Der Teil mit
Code:
$this->getSmarty()->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getPI', [$this, 'getPI']);
fehlt in deinem Codebeispiel jedenfalls und die Fehlermeldung lässt darauf schließen, dass die Smarty-Funktion nicht registriert wurde.
 

wespread.online

Mitglied
29. September 2020
52
7
Ich bekomme trotzdem ein Fehler, genau bei dieser Zeile:

Fatal error: Uncaught Error: Class 'Template\NOVAChild\Smarty' not found in / shop/templates/NOVAChild/Bootstrap.php:14 Stack trace: #0 /shop/includes/src/Smarty/JTLSmarty.php(126): Template\NOVAChild\Bootstrap->boot() #1 /shop/includes/src/Smarty/JTLSmarty.php(76): JTL\Smarty\JTLSmarty->initTemplate() #2 /shop/includes/src/Smarty/JTLSmarty.php(203): JTL\Smarty\JTLSmarty->__construct(false, 'frontend') #3 /shop/includes/smartyInclude.php(2): JTL\Smarty\JTLSmarty::getInstance() #4 in /shop/templates/NOVAChild/Bootstrap.php on line 14
 

wespread.online

Mitglied
29. September 2020
52
7
Hallo,

danke erstmal für das schnelle Feedback. Aber ich bekomme dann wieder ein Fehler, dass z.B. {container} nicht kompiliert werden kann (Syntax Error). Könntet ihr mal das testen, ein eigenes Funktion in Child-Template zu erstellen?
 

wespread.online

Mitglied
29. September 2020
52
7
Wenn ich den boot() function deaktviere, dann funktioniert es wieder. Ich glaub nicht, dass es bei Namespace liegt.

PHP:
<?php declare(strict_types=1);

namespace Template\NOVAChild;

use Smarty;

/**
* Class Bootstrap
* @package Template\NOVAChild
*/

class Bootstrap extends \Template\NOVA\Bootstrap
{
    public function boot(): void
    {
        try {
            $this->getSmarty()->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getPI', [$this, 'getPI']);
        } catch (\SmartyException $e) {
            throw new \RuntimeException('Problems during smarty instantiation: ' . $e->getMessage());
        }
    }
    public function getPI($precision)
    {
        $iterator = 1;
        $factor   = -1;
        $nenner   = 3;
        for ($i = 0; $i < $precision; $i++) {
            $iterator = $iterator + $factor / $nenner;
            $factor   *= -1;
            $nenner   += 2;
        }
        return $iterator * 4;
    }
}
 

wespread.online

Mitglied
29. September 2020
52
7
Code:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "templates/NOVA/layout/index.tpl" on line 19 "{container}" unknown tag 'container' <-- thrown in /includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 19
das hat aber nichts mit dem Namespace zu tun. wenn ich den boot() funktion hinzufüge kommt das.
 

wespread.online

Mitglied
29. September 2020
52
7
Also ich krieg das nicht hin, und ich glaube es auch nicht, dass ich der einzige bin, dass sowas nicht checken wird.
Wir schreiben jetzt seit 3 Tagen hin und her, und kommen nicht auf eine Lösung. Ihr habt auch nicht eine vernüftige Dokumentation, damit ein Entwickler was anfangen kann.

Ist es einfach so schwer, ein snippet in Dokumentation zu machen, oder ein Funktion in dem Child-Template von NOVA in gitlab hinzuzfügen.

Wie soll den diese Community wachsen? Ihr als JTL, müsst ein bisschen über den Tellerrand hinausschauen. Ihr entwickelt ein Software in Jahr 2020, sagt dass JTL internationalisiert wird, und es gibt immer noch deutsche-Begriffe im Quellcode. Wann soll denn sowas internationalisert werden in Shop6, im Jahr 2060?
 

wespread.online

Mitglied
29. September 2020
52
7
Code:
public function boot(): void
    {
        parent::boot();
        try {
            $this->getSmarty()->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getPI', [$this, 'getPI']);
        } catch (\SmartyException $e) {
            throw new \RuntimeException('Problems during smarty instantiation: ' . $e->getMessage());
        }
    }
nächste Fehler: "{getPi(12)}" unknown function 'getPi'
 

wespread.online

Mitglied
29. September 2020
52
7
Danke für die Hilfe.

Auf jedem fall beachtet ihr auch das gleiche Fehler von dem Template Dokumentation. Ich habs einfach von der Doku copy/paste genommen.
 

wespread.online

Mitglied
29. September 2020
52
7
Also ich sehe, dass ihr die Dokumentation auch aktualisiert habt... Aber ich kann immer noch kein eigene Funktion in Child-Template nutzen.
Ich bekomme folgende Fehler:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "/templates/NOVAChild/page/index.tpl" on line 5 "{getPI(12)}" unknown function 'getPI' <-- thrown in /includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 5
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.493
349
Halle
Sorry und Danke für deine Geduld... :oops: Die Doku hat an der Stelle offensichtlich noch "Schwächen".

Die getPI-Funktion sollte besser so aussehen:
PHP:
public function getPI($args)
{
    $precision = $args['precision'];
    $iterator  = 1;
    $factor    = -1;
    $nenner    = 3;

    for ($i = 0; $i < $precision; $i++) {
        $iterator = $iterator + $factor / $nenner;
        $factor   *= -1;
        $nenner   += 2;
    }

    return $iterator * 4;
}
Und der Aufruf im Template sollte natürlich den Regeln für Smarty-Funktionen folgen...
PHP:
{getPI precision=12}
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu eigene Position auf Rechnung anzeigen lassen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Bitte um Hilfe! Wawi nutzung für Dropshipping und eigene Artikel Verkauf! Dienstleistung, Jobs und Ähnliches 1
Neu Bitte um Hilfe! Wawi nutzung für Dropshipping und eigene Artikel Verkauf! User helfen Usern - Fragen zu JTL-Wawi 1
Neu Eigene Felder in Druckvorlage ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Import aus Bestandsübersicht in Eigene Übersichten Individuelle Listenansichten in der JTL-Wawi 2
Neu Betatester gesucht für Neues Tool W-Master / Merkmale, Attribute & Eigene Felder effizienter verwalten im Kontext von Multichannel Schnittstellen Import / Export 1
Neu Eigene Felder, Feldgröße anpassen JTL-Wawi - Ideen, Lob und Kritik 13
Neu Braucht man für Amazon Varkombis pro Child eine eigene EAN? User helfen Usern - Fragen zu JTL-Wawi 10
Neu Eigene Felder in Rechnung / Wert für zweiten Web-Request merken User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Kampagne Pagehits werden nicht korrekt getrackt. Betrieb / Pflege von JTL-Shop 2
Eigene Attribute in einem neuen Tab Einrichtung JTL-Shop5 1
Neu Eigene Felder in Lieferantenbestellung? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Felder bei Shopware 6 Shopware-Connector 1
Neu Eigene Artikel Felder in Druckvorlage einbinden funktioniert nicht Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
Neu Problem mit Eigene Felder User helfen Usern - Fragen zu JTL-Wawi 8
Eigene Seiten erstellen Einrichtung JTL-Shop5 1
Neu Referenzieren auf Eigene Felder in Globalen Textbausteinen User helfen Usern 2
Neu Exportformat - "eigene Felder" abgreifen Schnittstellen Import / Export 0
Eigene Tabelle in Datenbank nutzen Einrichtung JTL-Shop5 1
Neu Eigene Kategoriestruktur (Menü) pro Onlineshop Allgemeine Fragen zu JTL-Shop 0
Neu Kategoriebilder im Megamenü für Eigene Seiten möglich? Allgemeine Fragen zu JTL-Shop 1
Bild/Link wird unter eigene Seiten nicht angezeigt Einrichtung JTL-Shop5 1
Neu Eigene Variablen für die Druck- / E-Mail- / und Exportvorlagen anlegen User helfen Usern - Fragen zu JTL-Wawi 8
Neu Über Workflows Eigene Felder von LS POS ansprechen User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Werte aus "Eigene Felder" Attribute überschreiben JTL-Workflows - Fehler und Bugs 0
Neu Artikel: Eigene Felder -> Merkmale User helfen Usern - Fragen zu JTL-Wawi 4
Neu eigene Bestellnummer User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Felder beim Import von Auftragsdaten über die Ameise User helfen Usern - Fragen zu JTL-Wawi 3
Neu Shop 5 NOVAChild eigene fonts/Schriftarten Templates für JTL-Shop 4
Neu Rechnung export mit Kunden eigene Felder Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Eigene Felder ein/ausblenden WooCommerce-Connector 1
Neu JTL Shop Artikel durch den Inhalt von "Eigene Felder" finden User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Felder - Import von verschiedenen Merkmalen zu einem Artikel JTL-Ameise - Ideen, Lob und Kritik 4
Neu Eigene Übersichten - Kunden - Kundenumsatz pro Jahr anzeigen Individuelle Listenansichten in der JTL-Wawi 0
Neu Eigene Kundenfelder - komisches Verhalten JTL-Shop - Fehler und Bugs 2
Neu [SHOP5] Shopsuche ohne Funktion JTL-Shop - Fehler und Bugs 1
Gelöst Kundendaten abschicken - ohne Funktion :( Allgemeine Fragen zu JTL-Shop 2
Neu Frage zum Artikel Funktion Emaill abfrage Allgemeine Fragen zu JTL-Shop 4
Neu EBAY FEHLER Die datediff-Funktion hat zu einem Überlauf geführt. Die Anzahl von datepart-Werten, die zwei Datums-/Uhrzeitinstanzen trennen,ist zu groß JTL-Wawi - Fehler und Bugs 2
Neu Bilderuplaod Shopware 5 - Connector - ohne Funktion Shopware-Connector 3
Neu Reload Funktion nach "in den Warenkorb" anklicken Technische Fragen zu Plugins und Templates 1
Neu MUNBYN Android pos Terminal 6.0 PDA/NFC Funktion Zebra-Scanner Arbeitsabläufe in JTL-Wawi 0
Neu Produkte Kommentar Funktion Ausgeschaltet WooCommerce-Connector 0
nach Upgrade auf v5 "in den Warenkorb"- Buttons ohne Funktion Upgrade JTL-Shop4 auf JTL-Shop5 2
Neu Funktion für Keine, Kurz- & Langbeschreibung Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Konfigurator nicht kompatibel mit Vorbestell-Funktion Arbeitsabläufe in JTL-Wawi 0
Neu Angebotsvorlagen oder einzustellende/laufende Angebote: Menge = Verfügbar (wenn >0, sonst 0) keine Funktion? Einrichtung und Installation von JTL-eazyAuction 4
Neu Fehler beim Ausliefern von Aufträgen - Ein ungültiger Längenparameter wurde an die LEFT- oder SUBSTRING-Funktion.... V1.5.38.1 JTL-Wawi - Fehler und Bugs 9
Neu NOVA Template - kein Vorschaubild für Variationen im Slick-Slider Templates für JTL-Shop 0
Neu JTL SHOP 5 NOVA - keine Preisspanne, kein ab Technische Fragen zu Plugins und Templates 0

Ähnliche Themen