西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > zencart教程 >

zencart插件安装完后台不显示的问题

时间:2015-07-09 17:53来源:未知 作者:好模板 点击:
由于1.51版本的程序,在新安装插件后,多加了一个注册机制,所谓注册,就是利用数据库中的admin_pages表,将插件文件和数据库中的配置信息联结起来,所以如果在编写过程中没有把插

由于1.51版本的程序,在新安装插件后,多加了一个注册机制,所谓注册,就是利用数据库中的admin_pages表,将插件文件和数据库中的配置信息联结起来,所以如果在编写过程中没有把插件注册到后台,后台是不会显示相关选项的。

解决这个问题的办法是在后台自己手动注册。

例如:我新安装了一个zencart新闻模块,可是安装完之后,后台不显示News Box Manager这个选项。那么该如何做呢?

1,打开文件admin\includes\boxes\extra_boxes文件夹,寻找类似news_box_manager_tools_dhtml.php的文件, 如果存在,则打开文件后可以看到 BOX_NEWS_BOX_MANAGER 和 FILENAME_NEWS_BOX_MANAGER 这两个常量

2,后台Admin Access Management(权限管理) --- Admin Page Registration(管理注册页面) ,接下来就填写一些东西。

Page Key(页面编码):这里只是填写注册页面的名称,随便取个名字,不过这个名字在数据表admin_pages中是唯一的,例如:mynewsbox

Page Name(页面名称):这里填写上面所看到的的BOX_NEWS_BOX_MANAGER(该常量要以BOX_开头,易区分,用于命名插件名称,可以自己取名)

Page Filename(页面文件名):这里填写上面所看到的FILENAME_NEWS_BOX_MANAGER(该常量要以FILENAME_开头,易区分,用于指定插件的文件,插件文件在admin\根目录中)

Page Parameters(页面参数):留空

Menu(菜单):你想将新闻模块显示在哪个菜单下就选哪个

Display on Menu?(显示在该菜单下吗?):当然,这个选中

Sort Order(排序):该模块在下拉菜单中的排序,就填20吧

然后点击按钮就可以了。

3.如果admin\includes\boxes\extra_boxes文件夹中不存在上述的文件,

 

-----------------------

zencart后台模块开发注意:

要在后台的指定栏目下加入一个模块,需要在几个位置加入文件:
文件一:/admin/includes/boxes/exra_boxes/加入一个文件,文件命名规则是:模块名_栏目名_dhtml.php,规则命名主要是为了区分,一目了然,此文件的内容是一个数组$za_contents[],其值是记录你的模块的名称(在菜单中体现),和模块链接的页面地址,文件内容如下:

例1:

$za_contents[] = array('text' => BOX_CATALOG_NEWS_AUTHORS, 'link' => zen_href_link(FILENAME_NEWS_AUTHORS, '', 'NONSSL'));

上述常量BOX_CATALOG_NEWS_AUTHORS对应的页面链接文件是FILENAME_NEWS_AUTHORS常量指定的文件

$za_contents[] = array('text' => BOX_CONFIGURATION_NEWS_BOX_MANAGER, 'link' => zen_href_link(FILENAME_CONFIGURATION, '', 'NONSSL'));

上述常量BOX_CONFIGURATION_NEWS_BOX_MANAGER对应的页面链接文件是FILENAME_CONFIGURATION常量指定的文件,注意:FILENAME_CONFIGURATION常量对应的页面是configuration.php页面,系统自带常量,无需再定义,用于显示数据库表configuration中定义的插件配置选项。

文件二:/admin/includes/extra_datafiles/加入一个文件,此文件命名无限制(一般直接用模块名进行命名)
此文件的内容是定义两个常量,即上述文件一中数组$za_contents[]内定义的两个常量的具体的值,文件内容如下

例2:

define('BOX_CONFIGURATION_NEWS_BOX_MANAGER','News Manage');

常量BOX_CONFIGURATION_NEWS_BOX_MANAGER定义的值是 News Manage,在菜单下面显示出来就是 News Manage

注意:在上述例1中的常量FILENAME_NEWS_AUTHORS不是系统自带常量,所以需要定义,该常量对应的是一个页面文件,定义如下:

define('FILENAME_NEWS_AUTHORS', 'news_authors.php');定义在文件二中。

文件三:在/admin/加入一个文件,此文件是你的模块主文件

当然还可以在/admin/languages/下加入模块相应的语言文件,不过我个人开发的模块只是个人使用因此没使用语言文件,而是把语言文字直接写在模块主文件中

(责任编辑:好模板)
顶一下
(2)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容