问题使用OpenCart中的VQMOD在header.tpl上更改简单文本

时间:2012-07-12 08:18:03

标签: xml-parsing opencart virtualmode

我第一次尝试使用VQMOD,当我将下面的代码添加到我的页面时没有任何改变。

我尝试将主页右上角的home链接(打开购物车)更改为my home,但文字没有变化。不幸的是,VQMOD管理器没有错误。

我的XML代码如下。我是否需要在TPL中添加内容或进行其他更改?

<modification>
    <file name="catalog/view/theme/*/template/common/header.tpl">
        <operation>
            <search position="replace"><![CDATA[<?php echo $text_home; ?>]]></search>         
            <add><![CDATA[my home]]></add>   
        </operation>    
    </file>       
</modification>

3 个答案:

答案 0 :(得分:3)

您无法像代码中那样替换header.tpl。 VQMOD“只能搜索单行”而不是特定变量。

试试这段代码:

<file name="catalog/view/theme/*/template/common/header.tpl">
    <operation>
        <search position="replace"><![CDATA[
          <div class="links"><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a><a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a><a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a><a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></div>
        ]]>
        </search>
        <add><![CDATA[
          <div class="links"><a href="<?php echo $home; ?>">your own link</a><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a><a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a><a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a><a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></div>
        ]]>
        </add>
    </operation>
</file>

答案 1 :(得分:1)

我发现的一件事就是立即丢失了顶部的修改细节

<id>Mod Name</id>
<version>1.0.0</version>
<vqmver>2.X</vqmver>
<author>Your name</author>

你应该在xml文件的顶部也有这个代码

<?xml version="1.0" encoding="UTF-8"?>

答案 2 :(得分:0)

* .tpl文件中包含include()或require()或require_once()

require ('catalog/view/theme/*/template/product/*.tpl');

修改为

require($vqmod->modCheck('catalog/view/theme/*/template/product/*.tpl'));

<?php
global $vqmod;
require($vqmod->modCheck('file/path/here'));
?>

或修改vqmod_opencart.xml

<file name="path/ *.tpl">
        <operation>
            <search position="replace" regex="true"><![CDATA[~require\(([^)]+)~]]></search>
            <add><![CDATA[require($vqmod->modCheck($1)]]></add>
       </operation>
</file>