跨境电商 · 2022年02月25号 0

如何在 OpenCart 2.x 中将商店徽标和产品图像添加到发票中

在这篇博文中,我们将向您展示如何将您的商店徽标和产品图像添加到您的发票中,更改默认的 OpenCart 2.x 发票模板。

不幸的是,OpenCart 没有用于在管理面板中编辑发票模板的内置编辑器,我们必须通过修改代码本身来更改它。

注意:此修改仅适用于 OpenCart 2.x,我们假设您已经安装了它。

OCMod 修改

由于不建议修改核心文件,因为其他模块出现故障,我们将使用OCMod修改来编辑发票模板。

此方法不会修改 OpenCart 的核心功能,这就是我们要使用此方法的原因。

您应该做的第一件事是创建一个新的 XML 文件并将其命名为yourcustommodificationname.ocmod.xml。请确保您的文件具有扩展名.ocmod.xml,否则 OpenCart 2.x 中的集成扩展安装程序将无法识别它。

在标题中添加徽标

如果我们想在发票的标题中包含徽标,我们需要在文件中添加这些行:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><修改></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    <name>iSenseLabs 将图像添加到发票</name></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    <version>1.0(初始)</version>  </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    <link>https://isenselabs.com</link></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    <code>isense_invoice</code></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    <author>iSenseLabs</author></font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    <file path="admin/controller/sale/order.php"></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
        <操作></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            <search><![CDATA[public function invoice() {]]></search></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            <add position="after"><![CDATA[</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                // ISENSELABS.COM 代码从这里开始</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                $this->load->model('工具/图像');</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                // ISENSELABS.COM 代码到此结束</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            ]]></添加></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
        </操作></font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
        <操作></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            <search index="0"><![CDATA[$this->response->setOutput($this->load->view('sale/order_invoice]]></search></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            <add position="before"><![CDATA[</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                // ISENSELABS.COM 代码从这里开始</font></font><font></font>
        <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->服务器['HTTPS'] == '1'))) {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                    $server $this->config->get('config_ssl');</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                } 别的 {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                    $server $this->config->get('config_url');</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                }</font></font><font></font>
                <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                if ($this->config->get('config_logo') && file_exists(DIR_IMAGE . $this->config->get('config_logo'))) {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                    $data['logo'] = $server 。</font><font style="vertical-align: inherit;">'图片/' 。</font><font style="vertical-align: inherit;">$this->config->get('config_logo');</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                } 别的 {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                    $data['logo'] = '';</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                }</font></font><font></font>
                <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                // ISENSELABS.COM 代码到此结束</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            ]]></添加></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
        </操作></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    </文件></font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    <file path="admin/view/template/sale/order_invoice.tpl"></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
        <操作></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            <search><![CDATA[<div style="page-break-after: always;">]]></search></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            <add position="after"><![CDATA[</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                <!-- ISENSELABS.COM 代码从这里开始 --></font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                <?php if(isset($logo) && !empty($logo)) { ?></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                    <img src="../<?php echo $logo ?>" style="margin: 15px 0 15px 0;" </font><font style="vertical-align: inherit;">/></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                <?php } ?></font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
                <!-- ISENSELABS.COM 代码到此结束 --></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
            ]]></添加></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
        </操作></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    </文件></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
</修改></font></font>

然后,我们应该转到您的 OpenCart 商店管理页面 > 扩展 > 扩展安装程序并上传文件。在我们收到消息“成功:您已经安装了您的扩展!”后,我们需要转到扩展 > 修改并单击刷新按钮以应用更改。

发票应如下所示:

添加产品图片

如果我们还想将产品图像添加到我们的发票中,我们必须在我们当前的修改文件中添加此代码,或者我们可以创建一个新的:

<file path="admin/controller/sale/order.php"><font></font>
    <operation><font></font>
        <search><![CDATA[public function invoice() {]]></search><font></font>
        <add position="after"><![CDATA[<font></font>
            // ISENSELABS.COM CODE STARTS HERE<font></font>
<font></font>
            $this->load->model('catalog/product'); <font></font>
<font></font>
            // ISENSELABS.COM CODE ENDS HERE<font></font>
        ]]></add><font></font>
    </operation><font></font>
<font></font>
    <operation><font></font>
        <search index="0"><![CDATA[$product_data[] = array(]]></search><font></font>
        <add position="before"><![CDATA[<font></font>
            // ISENSELABS.COM CODE STARTS HERE<font></font>
                $width = 100;<font></font>
                $height = 100;<font></font>
                $product_info $this->model_catalog_product->getProduct($product['product_id']); <font></font>
                if (version_compare(VERSION, '2.3''>=')) {<font></font>
                    $this->load->model('tool/image');<font></font>
                }<font></font>
                if ($product_info['image']) {<font></font>
                    $image $this->model_tool_image->resize($product_info['image'], $width$height);<font></font>
                else {<font></font>
                    $image $this->model_tool_image->resize('placeholder.png'$width$height);<font></font>
                }   <font></font>
            // ISENSELABS.COM CODE ENDS HERE<font></font>
        ]]></add><font></font>
    </operation><font></font>
<font></font>
    <operation><font></font>
        <search index="0"><![CDATA[$product_data[] = array(]]></search><font></font>
        <add position="after"><![CDATA[<font></font>
            'image'    => $image// ISENSELABS.COM<font></font>
        ]]></add><font></font>
    </operation><font></font>
</file><font></font>
<font></font>
<file path="admin/view/template/sale/order_invoice.tpl"><font></font>
    <operation><font></font>
        <search><![CDATA[<?php echo $product['name']; ?>]]></search><font></font>
        <add position="replace"><![CDATA[<font></font>
            <!-- ISENSELABS.COM CODE STARTS HERE --><font></font>
<font></font>
            <?php if(isset($product['image']) && !empty($product['image'])) { ?><font></font>
                <img src="<?php echo $product['image'] ?>" /><font></font>
            <?php } ?><font></font>
<font></font>
            <!-- ISENSELABS.COM CODE ENDS HERE --><font></font>
            <?php echo $product['name']; ?><font></font>
        ]]></add><font></font>
    </operation><font></font>
</file>

之后,我们需要将修改文件上传到我们的 OpenCart 商店,最终结果将是这样的:

如何在 OpenCart 2.x 中将商店徽标和产品图像添加到发票中

更改产品图片大小

在这里,我们将向您展示如何自定义 OCMod 文件中的代码。这个修改不大,但是可以做一些小的改动。

如果您需要更小或更大的产品图片,您可以更改这两行:

$width = 100;<font></font>
$height = 100;

进行更改后,您需要保存 .ocmod.xml 文件。在上传修改之前,您需要在 Extensions > Modifications 中删除旧的,勾选修改 ‘Add images to invoice by iSenseLabs’ 然后点击红色的删除按钮。您还需要清除和刷新修改。之后,您将能够使用 OpenCart 2.x 中的集成扩展安装程序上传新的 .ocmod.xml 文件。