我想使用Vqmod在opencart管理员的目录下添加一个新的子菜单。这是我的代码:
<modification>
<id>add menu</id>
<author>XXX</author>
<version>2.3</version>
<vqmver>1.0.8</vqmver>
<!-- OPTION CONTROLLER -->
<file name="admin/controller/common/header.php">
<operation>
<search position="after"><![CDATA[
$this->data['text_newmenu'] = $this->language->get('text_newmenu');
]]></search>
<add><![CDATA[
$this->data['text_newmenu'] = $this->language->get('text_newmenu');
]]></add>
</operation>
<operation>
<search position="after"><![CDATA[
$this->data['doctor'] = $this->url->link('catalog/doctor', 'token=' . $this->session->data['token'], 'SSL');
]]></search>
<add><![CDATA[
$this->data['newmenu'] = $this->url->link('catalog/newmenu', 'token=' . $this->session->data['token'], 'SSL');
]]></add>
</operation>
</file>
<!-- OPTION LANGUAGE -->
<file name="admin/language/english/common/header.php">
<operation>
<search position="after"><![CDATA[
$_['text_zone'] = 'Zones';
]]></search>
<add><![CDATA[
$_['entry_newmenu'] = 'Wow sexy';
]]></add>
</operation>
</file>
<!-- header.tpl for new menu-->
<file name="admin/view/template/common/header.tpl">
<operation>
<search position="after"><![CDATA[
<li><a href="<?php echo $doctor; ?>"><?php echo $text_doctor; ?></a></li>
]]></search>
<add><![CDATA[
<li><a href="<?php echo $newmenu; ?>"><?php echo $text_newmenu; ?></a></li>
]]></add>
</operation>
</file>
<modification>
但DOM无法加载时出现错误:/opt/lampp/htdocs/work/oc/vqmod/xml/addmenu.xml
有没有人知道我的代码中的问题是什么?
答案 0 :(得分:2)
我遇到了类似的问题。我已经给了该文件的许可。但它仍然说无法加载。经过一些研究,我发现它有管理员许可,没有其他人的阅读许可,可以通过以下方式给出:
sudo chmod a+r filename
如果你想给整个目录,那么
sudo chmod -R a+r directory/
这解决了我的错误..
希望有所帮助
答案 1 :(得分:1)
addmenu.xml请使用xml验证器验证此xml,如下所示
错误是因为xml文件不是有效的
如果这不能解决问题,请尝试添加
<?xml version="1.0" encoding="UTF-8"?>
在xml的顶部
答案 2 :(得分:0)
author
标记中是否有任何非标准字符,例如á
é
í
ó
ú
?如果是这样,请确保将它们放在CDATA标签中并放入
<?xml version="1.0" encoding="UTF-8"?>
标题在文档的最开头(之前绝对没有任何内容)