nachdem der Katalog immer noch Probleme bereitet, hier eine Lösung für die Umlaute:
Bei der pdf Erstellung gehen die wichtigen Sachen über die Funcktion Cell in includes\fpdf\fpdf.php. Da drin kann man praktisch "zentral" die Umlaute behandeln:
In Zeile 629 eine Zeile einsetzen:
- Code: Alles auswählen
function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='')
{
$txt = utf8_decode($txt) ; //neue Zeile
//Output a cell
....
Da utf8_decode nach ISO8859-1 umwandelt wird das Euro-Zeichen nicht richtig umgewandelt. Auch die langen Bindestriche in manchen DemoArtikelbezeichnungen werden zum ? umgewandelt (müssen durch die kurzen Bindestriche der deutschen Tastatur ersetzt werden).
Aber an dieser Stelle ließe sich ja noch weiter verfeinern ...
Natürlich sind jetzt alle utf8-Decodierungen in der themes\preisliste\index.php überflüssig und müssen entfernt werden. Auch in der includes/fpdf/pdf_preisliste.php muss das utf_decode entfernt werden.
Damit klappt jetzt die Umlautdarstellung schon mal recht schön. )
Das Problem, dass bei sehr vielen Artikeln im Shop die Erstellung des PDFs so lange dauert, dass die Scriptlaufzeitbegrenzungen des Servers erreicht werden, ist natürlich immer noch existent. Hier wäre vielleicht der MySQLDumper eine Vorlage um das in Griff zu bekommen. Dort ruft sich das Script rekursiv immer wieder selbst auf. Damit läuft das Script so kurz, dass die Serverbegrenzung nicht erreicht wird.
Edit: Hab gerade gesehen, dass es fpdf mittlerweile in der Version 1.6 gibt, lässt sich auch (bisher) problemlos im randshop151 verwenden. Dazu nur die fpdf.php und den Ordner fonts in includes/fpdf durch die Dateien/Ordner aus der 1.6 ersetzen. Download unter http://www.fpdf.de/downloads/releases/
In den Addons sind auch welche zur Speicheroptimierung zu finden, könnte man glatt mal testen, vielleicht ist das zweite Problem ja ein Speicher und kein Laufzeit-Problem.
viele Grüße
Magnus
viele Grüße
Magnus