2013-04-09 107 views
1

尝试向OpenCart后台的类别页面添加简短描述字段。在控制器和模型中有多个VQmod XML实例可以正常工作,但是尝试使用下面的代码将该字段添加到类别页面看来完全没有任何作用。在category_form.tpl中根本没有添加/替换。使用VQmod向OpenCart管理员添加自定义字段

<!-- This adds the short description field to the admin category page --> 
<file name="admin/view/template/catalog/category_form.tpl"> 
    <operation> 
     <search position="replace"><![CDATA[    <tr> 
       <td><?php echo $entry_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr>]]></search> 
     <add><![CDATA[    <tr> 
       <td><?php echo $entry_short_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr>   
       <tr> 
       <td><?php echo $entry_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr>]]></add> 
    </operation> 
</file> 

很明显这更好的办法,因为我不认为我应该试图在这里代替所有这些代码做的,但如果我任何人都可以在好心检查代码并指出在那里我已经出了错, 那太好了。谢谢。

更新

我的XML代码被包裹在<modification></modification>的方式....

我已经尝试使用偏移,并提到了VQmod文档,但仍一时无法获得这项权利?

我曾尝试: -

<file name="admin/view/template/catalog/category_form.tpl"> 
    <operation> 
     <search position="replace" offset="1"><![CDATA[<td><?php echo $entry_description; ?></td>]]></search> 
     <add><![CDATA[    <tr> 
       <td><?php echo $entry_short_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr> 
       <tr> 
       <td><?php echo $entry_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr>]]></add> 
    </operation> 
</file> 

回答

1

首先整个代码应该被包裹在

<modification> 
    <file ...> 
     .... 
    </file> 
</modification> 

第二你不能搜索多行,您可以搜索特定的行,然后用offset属性

您的情况使用

<search position="replace" offset="1"><![CDATA[ <td><?php echo $entry_description; ?></td>]]></search> 

参考vQmod documentation

+0

我曾尝试使用偏移量,并提到文档无济于事,你的建议仍然导致搜索不被发现。 (已更新我的问题的细节)。谢谢。 – zigojacko 2013-04-10 07:35:26

+0

啊,我发现这个问题实际上是由于XML文件中的另一个地方导致我的上面指定的替换不运行。无用的错误日志。尽管如此,感谢您的帮助。 – zigojacko 2013-04-10 08:20:29

相关问题