使用Zend Framework将自定义图像插入Magento Invoice或Packingslip PDF

时间:2011-02-20 22:31:02

标签: php zend-framework pdf magento

我正在尝试将新图像插入我的Magento发票或装箱单,我发现此代码:(来自/app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php)< / p>

    protected function insertLogo(&$page, $store = null)
{
    $image = Mage::getStoreConfig('sales/identity/logo', $store);
    if ($image) {
        $image = Mage::getStoreConfig('system/filesystem/media', $store) . '/sales/store/logo/' . $image;
        if (is_file($image)) {
            $image = Zend_Pdf_Image::imageWithPath($image);
            $page->drawImage($image, 25, 758, 170, 860);
        }
    }
    //return $page;
}

我在/app/code/core/Mage/Sales/Model/Order/Pdf/Shipment.php的本地文件夹中制作了一个副本,这是我想要修改的文件。我已经尝试了各种方法来指向我在我的服务器上的文件(不是通过管理员上传,只是通过FTP上传)但我不能让它指向另一个文件 - 它只是拒绝创建PDF或什么都不做......

这是我到目前为止所处的位置:

            $image = Mage::getStoreConfig('system/filesystem/media/Chris-Sig.gif');
            if (is_file($image)) {
                $image = Zend_Pdf_Image::imageWithPath($image);
                $page->drawImage($image, $x, $y, $x+30, $y+15);
            }

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

要使Mage::getStoreConfig('system/filesystem/media/Chris-Sig.gif')工作,需要有一个名为system/filesystem/media/Chris-Sig.gif的设置,该设置不是文件位置。试试这个更简单但不可配置的代码段:

$image = Mage::getConfig()->getOptions()->getMediaDir().DS.'Chris-Sig.gif';

当您确信它有效时,您可以尝试配置设置。