Datenbankabfrage zerschießt das Template - Anfängerfrage

opflaum

Aktives Mitglied
4. Februar 2016
14
0
Hallo zusammen!

Ich versuche mich gerade in der Templateentwicklung beim JTL- Shop. Dazu möchte ich gerne zufällig eine Kundenbewertung auf der Startseite ausgeben. Das Ganze versuche ich folgendermaßen:

In der functions.php habe ich folgende Funktion erstellt:
PHP:
/* Bewertungen für Startseite auslesen */
function get_bewertungen_home($params, &$smarty)
{
    $bewertung = new BewertungZufall();
    $smarty->assign($params['assign'], $bewertung->getBewertungZufall());
}
Dazu habe ich eine Datei namens: class.JTL-Shop.BewertungZufall.php erstellt mit folgendem Inhalt:
PHP:
<?php

class BewertungZufall
{
    public function getBewertungZufall()
    {
            $sqlselect = "SELECT cName FROM tbewertung WHERE nAktiv = '1' ORDER BY rand() LIMIT 0,1";
            
            $dbarray = Shop::DB()->query($sqlselect, 1);
            
            return $dbarray;
    }    
}

?>
Das Ganze versuche ich nun in meiner footer.tpl folgendermaßen auszugeben:
HTML:
{get_bewertungen_home assign='bewertung'}
Name: {$bewertung->cName}
Wenn ich die Seite nun aufrufe, wird nur noch ein weißer Bildschirm angezeigt... :( Kann mir jemand sagen was ich falsch mache?????
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
347
Halle (Saale)
AW: Datenbankabfrage zerschießt das Template - Anfängerfrage

Du musst in der functions.php die Funktion auch entsprechend registrieren.
In Shop4 wäre das dann
Code:
$smarty->registerPlugin('function', '[COLOR=#333333]get_bewertungen_home[/COLOR]', '[COLOR=#333333]get_bewertungen_home[/COLOR]');
Und die Klasse sollte auch irgendwie included werden..

Und ganz generell sollte die Fehleranzeige via

Code:
define('SHOP_LOG_LEVEL', E_ALL);
define('SMARTY_LOG_LEVEL', E_ALL);
ini_set('display_errors', 1);

aktiviert werden, das sollte dann aufschlussreicher als eine weiße Seite sein.
 

opflaum

Aktives Mitglied
4. Februar 2016
14
0
AW: Datenbankabfrage zerschießt das Template - Anfängerfrage

Oh nein... ich hatte nur vergessen die Funktion zu registrieren :) VIELEN DANK!
 

SportNet

Sehr aktives Mitglied
16. Oktober 2014
228
56
AW: Datenbankabfrage zerschießt das Template - Anfängerfrage

Du musst in der functions.php die Funktion auch entsprechend registrieren.
In Shop4 wäre das dann
Code:
$smarty->registerPlugin('function', '[COLOR=#333333]get_bewertungen_home[/COLOR]', '[COLOR=#333333]get_bewertungen_home[/COLOR]');
Und die Klasse sollte auch irgendwie included werden..

Hallo Felix,

im Falle eines Plugins (in diesem Fall eine alternativ Anzeige des Kategoriefilters) soll die Function ja nicht in der der functions.php definiert werden, sondern "extern" im Pluginverzeichnis.

Ich habe es dann mit Hook 22 probiert, aber dies funktioniert nur so lange die Filter "seoartige" Urls erzeugen (www.shopname.de/Herstellername:Kategorie__Merkmal1__Merkmal2). Sobald aber unter Umständen die "echten" Urls ("navi.php?h=450&suche=&Sortierung=0&af=0&kf=97") entstehen, wird ein PHP-Fehler geworden:

PHP:
Fatal error:  Call to undefined function name_der_funktion() in .....

Welchen hook wähle ich dann für die php Datei in der auch die registrierung stattfindet, so dass die Registrierung der Funktion in dem Fall funktioniert?

Danke und Gruß
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
347
Halle (Saale)
AW: Datenbankabfrage zerschießt das Template - Anfängerfrage

Am besten Hook 133 (HOOK_SMARTY_INC). Sobald der läuft, wurde das Smarty-Objekt erstellt und es können Funktionen registriert werden.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Datenbankabfrage - Suchen und Ersetzen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Amazonlister 2.0 zerschießt ASINs – Marktplatzdaten werden ignoriert Amazon-Lister - Fehler und Bugs 0
Preis im Warenkorb für 10 min sichern, wenn Preis geändert wurde. Ist das möglich? Einrichtung JTL-Shop5 3
Neu Kann ich irgendwie ausgeben, welches JTL-Konto das Dokument gedruckt hat? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 11
Neu Ist das ein BUG JTL-Ameise - Fehler und Bugs 1
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 Rahmen um die Kategorien, geht das ? Allgemeine Fragen zu JTL-Shop 3
Neu Amazon Lister 2.0 "für das Verkaufskonto 'Amazon.de Lister' konnten keine Versandregeln gefunden werden. ..." 1.10.12.0 Amazon-Lister - Fehler und Bugs 1
Bild "TT-EC15-main.png" für das Angebot mit SKU "TT-EC15" auf Channel "OTTODEJTL" wurde nicht gefunden JTL-Wawi 1.9 0
Neu Mehrsprachige Startseite mit /en/ URL-Struktur ohne doppelte OPC-Pflege. ie löst ihr das? Allgemeine Fragen zu JTL-Shop 1
Neu Große Bilder im Shop (Slider, Blog, Galerie etc.) nachträglich optimieren – wie macht ihr das? Allgemeine Fragen zu JTL-Shop 2
Neu Ändern des Dokumententitels oder andere Wege der Datenübergabe in das Dokument hinein für Artikeletiketten. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Umsatzsteuerfreie Shopify-Bestellungen an JTL-Wawi übertragen – wie macht ihr das? Shopify-Connector 1
Das Hinzufügen von Seriennummern zu einem Artikel ist nicht möglich JTL-Wawi 1.10 6
Neu Nutzt hier jemand das TECHNIK Template von Salepix? Templates für JTL-Shop 13
Neu Virenscanner sagt das ZIP enthält einen Virus Allgemeine Fragen zu JTL-Shop 1
Neu Lagerbestand von Stücklisten und das Zusammenspiel zwischen Überverkäufen erlauben in Komponenten Umfragen rund um JTL 12
Wie mache ich das: Lieferschein - retoure- Rechnung für Rest JTL-Wawi 1.9 6
Neu Connector funktioniert nicht (und täglich grüßt das Murmeltier) Shopify-Connector 2

Ähnliche Themen