Gepostet am:12.01.2010 23:04
#4
Aw:: Gästebuchbilder-Seite mit Einbinde-Code auf XOOPS-Basis?
12.01.2010 23:04 Da fällt mir noch was ein. Mas müsste vielleicht gaarnicht direkt in einen bestehenden Code eingreifen. Vielleicht ist so etwas auch über eine Smarty Erweiterung möglich. D.H. Man kann einer Smarty Erweiterung den Dateinamen des anzuzeigenden Bildes übergeben, die Smarty Extension schaut dann, ob es eine Kopie des Originalbildes mit Wasserzeichen gibt. Wenn ja, dann liefert es den Dateinamen der "Schattenkopie" zurück. Wenn das Bild mit dem Wasserzeichen nicht vorhanden ist, wird es neu erstellt und dann der Dateiname zurückgegeben.
Kleines Beispiel:
Der Onlineshop xt:Commerce arbeitet auch mit Smarty. Ich musste einmal eine Erweiterung machen um bestehenden Content an einer nicht dafür vorgesehenen Stelle unterzubringen
Die Funkion hab ich {box } genannt. Der Dateiname muss dann "function.box.php" lauten und sieht folgendermaßen aus:
<?
/**
SMARTY PLUGIN FOR XTC
{box cid=<n>}
Insert Content Manager text where <n> is the
group_id of the content
@return string with content of the content_text field
of the content manager
*/
function smarty_function_box($params, & $smarty) {
// If coid is not set or empty return empty string
if ($params['coid'] == "" || ! isset($params['coid']) ) {
return "";
}
/*
Hier der eigentliche Code der die Vararbeitung macht. Der return Wert ersetzt dann wie bei Smarty üblich den Tag.
*/
return $output;
}
?>
Im Template hat dann ein {box 152} einfach den Text des Content Managers mit der ID 152 angezeigt.
In deinem Fall müßte man den einfach den originalen Dateinamen der Smarty Funktion übergeben, dann das Bild generieren und dann den neuen Dateinamen zurückgeben. Der Vorteil liegt darin, dass du dich überhaupt nicht darum kümmern musst, welche Bilder bereits hinaufgeladen sind und welche nicht. Und das wichtigste ist, dass nicht in einen Code eingegriffen wird und es so auch zu keiner Updateproblematik eines Moduls kommt.
Siehe [1] und [2].
[1]
http://www.smarty.net/manual/en/plugins.functions.php[2]
http://www.smarty.net/manual/en/plugins.php
Who fails to plan, plans to fail