2013-06-10 26 views
6

Tôi đang làm việc trên Magento 1.5 và khi tôi cố gắng in bất kỳ hóa đơn nào của tôi, trên chương trình phụ trợ, tôi nhận được trang trắng/trống.Magento - trang trống/trống khi in hóa đơn trên backend

tôi đã cố gắng để gỡ lỗi này từng bước, vấn đề là tôi không thể đặt error_reporting trên (Tôi đang trên một phương thức sản xuất)

Cập nhật:

[Mon Jun 10 12:35:53 2013] [error] [client 196.203.53.248] PHP Fatal error: Declaration of Zend_Pdf_FileParserDataSource_File::__construct() must be compatible with Zend_Pdf_FileParserDataSource::__construct() in /home/webmaster/public_html/www/lib/Zend/Pdf/FileParserDataSource/File.php on line 41, referer: http://www.example.com/index.php/admin/sales_invoice/view/invoice_id/15/

+1

có bạn kiểm tra log lỗi của bạn, cả hai magento và php? – Mufaddal

+0

vâng tôi đã làm điều đó, không có gì đáng ngờ! –

Trả lời

10

này là một vấn đề không tương thích giữa PHP Version 5.4.4-14 và Zend Framwork.

cố định nó bằng cách bình luận ra __construct()__destruct() phương pháp trong lib/Zend/Pdf/FileParserDataSource.php

// abstract public function __construct(); 

    /** 
    * Object destructor. Closes the data source. 
    * 
    * May also perform cleanup tasks such as deleting temporary files. 
    */ 
// abstract public function __destruct(); 

Cảm ơn bạn!

+0

Cuộc sống tiết kiệm, cảm ơn bạn! Thật là một vấn đề kỳ lạ khi có – JasonDavis

+0

bạn được chào đón! –

+0

Tuyệt vời, cảm ơn bạn. – Michael

13

Sửa

lib/Zend/Pdf/FileParserDataSource.php 

thay đổi

abstract public function __construct(); 

để

abstract public function __construct($filePath); 
+0

để thay đổi phương pháp __construct chính xác là giải pháp đúng. chào mừng bạn! –

+0

Awasome ...... giúp tôi rất nhiều.Có thể vui lòng cho tôi biết tại sao bạn lại thực hiện thay đổi này? –

+0

Vì Zend_Pdf_FileParserDataSource_File :: __ construct() phải tương thích với Zend_Pdf_FileParserDataSource :: __ construct(). Để đạt được điều này, bạn cần phải có cùng một phương thức chữ ký, chính xác là bạn cần phải vượt qua param để xây dựng như đã thấy ở trên. –

6

Leiss của Mischa và sửa Rastaking là hoàn toàn đúng, nghĩ rằng tôi muốn thêm rằng việc chỉnh sửa các tập tin tại

[magento root]/lib/Zend/Pdf/FileParserDataSource.php 

không phải là phương pháp hay nhất. Tốt hơn là sao chép tệp vào

[magento root]/app/code/local/Zend/Pdf/FileParserDataSource.php 

và chỉnh sửa tệp ở đó. Magento sẽ sử dụng phiên bản ghi đè này của tệp, thay vì phiên bản mặc định và bạn ít có khả năng gặp sự cố trong tương lai (như khi bạn cố nâng cấp lõi Magento).

Ngoài ra, điều này có lẽ phải là nhận xét nhưng rất khó đọc mà không cần định dạng.

0

Thay đổi

abstract public function __construct(); 

để

abstract public function __construct($filePath); 

Cố định vấn đề