Überschreiben Sie eine Zend-Bibliothek


9

Ich versuche, eine Zend-Bibliothek (Zend_Pdf_Page) zu überschreiben, und es scheint nicht zu funktionieren. Ich füge es in app / code / local / Zend / Zend_Pdf_Page.php ein, aber die übergeordnete Klasse wird stattdessen verwendet.

Gibt es Konfigurationsänderungen, die ich vornehmen muss, damit es funktioniert?

Vielen Dank!

Laura

Antworten:


21

Alle Zend-Klassen werden direkt instanziiert, zum Beispiel hier:

app/code/core/Mage/Adminhtml/controllers/Sales/Order/ShipmentController.php:726
$page = new Zend_Pdf_Page($xSize, $ySize);

Aus diesem Grund können Sie keine config.xml-Syntax verwenden, um die Klasse selbst mit einem zu ändern <rewrite />

Der Include-Pfad wird jedoch wie erwartet festgelegt:

/app/code/local:/app/code/community:/app/code/core:/lib:.:...

Daher sollte es den Trick machen, eine Zend-Klasse in den richtigen Pfad zu setzen (Ihre ist falsch):

app/code/local/Zend/Pdf/Page.php

Ich stehe korrigiert ... :) Gut zu wissen!
Sander Mangel

Wenn es funktioniert und meine Antwort geholfen hat, können Sie es gerne als Lösung markieren :)
Fabian Blechschmidt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.