ocmod 使用多个 xml 文件(xml 超过 64kb 错误)

ocmod use multi xml file (xml over 64kb error)

当 xml 文件超过 64kb 时,有没有办法分解 xml 文件?

问题 当我的 xml 文件超过 64kb 时,它会显示这个 :(

    Warning: DOMDocument::loadXML(): CData section not finished <tr> <td colspan="2"> <div id="map_canvas in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132
Warning: DOMDocument::loadXML(): Premature end of data in tag add line 1893 in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132
Warning: DOMDocument::loadXML(): Premature end of data in tag operation line 1891 in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132
Warning: DOMDocument::loadXML(): Premature end of data in tag file line 1890 in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132
Warning: DOMDocument::loadXML(): Premature end of data in tag modification line 2 in Entity, line: 1929 in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 132Notice: Trying to get property of non-object in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 143
    ( ! ) Fatal error: Call to a member function getElementsByTagName() on a non-object in C:\wamp\www\qdrah\oc2test1\admin\controller\extension\modification.php on line 145
    Call Stack
    #   Time    Memory  Function    Location
    1   0.0016  300672  {main}( )   ..\index.php:0
    2   0.0396  1156520 Front->dispatch( )  ..\index.php:171
    3   0.0418  1237880 Front->execute( )   ..\front.php:29
    4   0.0418  1237880 Action->execute( )  ..\front.php:34
    5   0.0442  1482808 call_user_func ( )  ..\action.php:65
    6   0.0442  1482840 ControllerExtensionModification->refresh( ) ..\action.php:65

我的文件显示如下:

upload -> have images
install.php
install.xml
readme.txt

我希望可以将 xml 文件像管理员修改一样移动到 admin.xml 等等,因为大文件很难更新,但是当我查看 admin/controller/extension/installer.php 它似乎不可能:(

所以目前我看到我的 ocmod 在两个 ocmod 中爆炸,直到有人给我们解决她或 opencart 更新这个问题。

管理员请添加标签 ocmod

好的,我找到了错误!! xml 文件存储在数据库和字段类型(文本)中,这种类型的大小为 64KB,所以当 xml 文件大于 64KB 时,它被剪切,然后导致上面的错误!!

有关此 link 中的 mysql 文本字段类型的更多信息 Maximum length for MySQL type text

类型应为 MEDIUMTEXT,大小为 16MB。

所以在它修复之前你可以运行在opencart数据库中查询这个

ALTER TABLE oc_modification CHANGE xml xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;

或通过此 ocmod 使用它 https://drive.google.com/file/d/0B2-nzvg31rU7QVAtZnVGN2lYRzA/view?usp=sharing

如果 ftp 有错误使用这个 ocmod http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18892

谢谢