如何修复opencart中vqmod的“DOM UNABLE TO LOAD”错误

时间:2012-10-05 09:34:52

标签: php opencart

我想使用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 有没有人知道我的代码中的问题是什么?

3 个答案:

答案 0 :(得分:2)

我遇到了类似的问题。我已经给了该文件的许可。但它仍然说无法加载。经过一些研究,我发现它有管理员许可,没有其他人的阅读许可,可以通过以下方式给出:

sudo chmod a+r filename

如果你想给整个目录,那么

sudo chmod -R a+r directory/

这解决了我的错误..

希望有所帮助

答案 1 :(得分:1)

addmenu.xml请使用xml验证器验证此xml,如下所示

http://www.xmlvalidation.com/

错误是因为xml文件不是有效的

如果这不能解决问题,请尝试添加

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

在xml的顶部

答案 2 :(得分:0)

author标记中是否有任何非标准字符,例如á é í ó ú?如果是这样,请确保将它们放在CDATA标签中并放入

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

标题在文档的最开头(之前绝对没有任何内容)