在这篇博文中,我们将向您展示如何将您的商店徽标和产品图像添加到您的发票中,更改默认的 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;" > |
<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;" > |
$this ->load->model( '工具/图像' );</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;" > |
<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;" > |
]]></添加></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;" > |
然后,我们应该转到您的 OpenCart 商店管理页面 > 扩展 > 扩展安装程序并上传文件。在我们收到消息“成功:您已经安装了您的扩展!”后,我们需要转到扩展 > 修改并单击刷新按钮以应用更改。
发票应如下所示:
添加产品图片
如果我们还想将产品图像添加到我们的发票中,我们必须在我们当前的修改文件中添加此代码,或者我们可以创建一个新的:
<file path= "admin/controller/sale/order.php" ><font></font> |
<search><![CDATA[ public function invoice() {]]></search><font></font> |
<add position= "after" ><![CDATA[<font></font> |
$this ->load->model( 'catalog/product' ); <font></font> |
</operation><font></font> |
<search index= "0" ><![CDATA[ $product_data [] = array (]]></search><font></font> |
<add position= "before" ><![CDATA[<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> |
if ( $product_info [ 'image' ]) {<font></font> |
$image = $this ->model_tool_image->resize( $product_info [ 'image' ], $width , $height );<font></font> |
$image = $this ->model_tool_image->resize( 'placeholder.png' , $width , $height );<font></font> |
</operation><font></font> |
<search index= "0" ><![CDATA[ $product_data [] = array (]]></search><font></font> |
<add position= "after" ><![CDATA[<font></font> |
</operation><font></font> |
<file path= "admin/view/template/sale/order_invoice.tpl" ><font></font> |
<search><![CDATA[<?php echo $product [ 'name' ]; ?>]]></search><font></font> |
<add position= "replace" ><![CDATA[<font></font> |
<!-- ISENSELABS.COM CODE STARTS HERE --><font></font> |
<?php if (isset( $product [ 'image' ]) && ! empty ( $product [ 'image' ])) { ?><font></font> |
<img src= "<?php echo $product['image'] ?>" /><font></font> |
<!-- ISENSELABS.COM CODE ENDS HERE --><font></font> |
<?php echo $product [ 'name' ]; ?><font></font> |
</operation><font></font> |
之后,我们需要将修改文件上传到我们的 OpenCart 商店,最终结果将是这样的:
更改产品图片大小
在这里,我们将向您展示如何自定义 OCMod 文件中的代码。这个修改不大,但是可以做一些小的改动。
如果您需要更小或更大的产品图片,您可以更改这两行:
$width = 100;<font></font> |
进行更改后,您需要保存 .ocmod.xml 文件。在上传修改之前,您需要在 Extensions > Modifications 中删除旧的,勾选修改 ‘Add images to invoice by iSenseLabs’ 然后点击红色的删除按钮。您还需要清除和刷新修改。之后,您将能够使用 OpenCart 2.x 中的集成扩展安装程序上传新的 .ocmod.xml 文件。