Hallo demoncleaner,
hier noch eine JavaScript bzw. jQuery Lösung deines Problems.
Erstelle die Datei /templates/tpl_modified_responsive/javascript/extra/set_produt_name_in_empty_review_description.php mit folgendem Inhalt.
<?php if (basename($PHP_SELF) == FILENAME_PRODUCT_INFO
) { ?><script>
$(document).ready(function () {
let p_name = $("h1[itemprop='name']").text();
$("div[itemprop='review'] span[itemprop='description']:empty").html(p_name);
});
</script>
<?php } ?> Warum poste ich Obiges?
Es ist leider so, dass die Entwickler von xtc der Meinung waren, man müsse viele Instanzen von Smarty erzeugen, wahrscheinlich mit der Intention, dass so die Smarty-Variablen nicht in Konflikt zueinander kommen, was natürlich auch mit z.B. Präfix-Bezeichnern zu verhindern gewesen wäre. Des Weiteren werden die Teiltemplates mit den Smarty-Variablen an jenen Stellen im Skript gerendert, wo alle Variablen, die im jeweiligen Teiltemplate benötigt werden, beisammen sind, anstatt dies erst am Ende, vor dem Anzeigen (display) zu tun. All das führt nun dazu, dass nicht alle per Smarty-Assign erzeugten Variablen überall, also in allen Teiltemplates zur Verfügung stehen. Aber sei's drum, es ist jetzt halt so wie es ist.
Mit JavaScript bzw. jQuery kann man diese Probleme in den meisten Fällen lösen, sofern im ausgegeben HTML-Dokument die Variable, in deinem Fall der Produktname, vorkommt. Dies scheint mir ein universellerer Lösungsansatz, als nachträglich die benötigte Smarty-Variable dem Teiltemplate "updatesicher" zur Verfügung zu stellen.
Nachtrag: Folgende Smarty-Instanzen werden vom Shopsystem erzeugt.
$smarty = new Smarty();
$box_smarty = new Smarty;
$popup_smarty = new Smarty();
$info_smarty = new Smarty;
$paypal_smarty = new Smarty();
$payment_smarty = new Smarty();
$ec_smarty = new Smarty();
$filter_smarty = new Smarty;
$gift_smarty = new Smarty;
$default_smarty = new Smarty;
$categorie_smarty = new Smarty;
$banner_smarty = new Smarty;
$module_smarty = new Smarty;
Gruss
Hanspeter