如何在OSCmax中添加子菜单项的管理菜单?

时间:2012-03-13 14:40:47

标签: oscommerce

我想在文章和作者中添加一个管理菜单项到我的osCmax网站。

我已将以下代码添加到英文文件夹的core.php文件中。

// BOF: MOD - Booking Serice
define('BOX_MENU_BOOKING_SERVICE', 'Booking Service');

define('BOX_BOOKING_SERVICE_PERSONS', 'Persons');
define('BOX_BOOKING', 'Booking');

// EOF: MOD - Booking Service

我在admin box文件夹中创建了一个persons.php文件,并添加以下代码。

  $contents = '';
  $contents = (     
                                  tep_admin_jqmenu(FILENAME_PERSONS, BOX_BOOKING_SERVICE_PERSONS, 'TOP') .
                                  tep_admin_jqmenu(FILENAME_BOOKING, BOX_BOOKING, 'TOP'));


  print_r($contents);

我已将以下代码添加到管理文件夹中的filenames.php

 define('FILENAME_PERSONS', 'persons.php');
  define('FILENAME_BOOKING', 'booking.php');

但只有BOOKING SERVICE显示在管理菜单中,而PersonsBooking未显示。

1 个答案:

答案 0 :(得分:1)

您必须先在 admin_files 表中注册文件名,然后才能在菜单中看到它们。

使用 includes / boxes / persons.php 文件中使用的tep_admin_jqmenu方法调用链接,以确保管理员用户具有相应的权限。

首先,您需要注册要使用的部分或默认页面。在这里,我们将其添加为人员文件,说它是菜单中的父部分以及默认权限组可以看到它:

insert into admin_files 
(admin_files_name, admin_display_name, admin_files_is_boxes, 
                       admin_files_to_boxes, admin_groups_id, admin_sort_order)
values 
('persons.php', 'BOX_MENU_BOOKING_SERVICE', 1, 0, '1,2', 1);

然后,您可以运行以下查询,该查询添加了人员和预订选项的下拉菜单,这两个选项都是预订服务菜单选项的子元素。

insert into admin_files 
(admin_files_name, admin_display_name, admin_files_is_boxes, 
                       admin_files_to_boxes, admin_groups_id, admin_sort_order)
values 
('persons.php', 'BOX_BOOKING_SERVICE_PERSONS', 0, 
    (select af.admin_files_id from admin_files af 
            where af.admin_files_name = 'persons.php' limit 1), '1,2', 1), 
('booking.php', 'BOX_BOOKING', 0, 
    (select af.admin_files_id from admin_files af 
            where af.admin_files_name = 'persons.php' limit 1), '1,2', 2);

这里的子查询会提取父项的admin_files_id,这将取决于此表上发生了多少其他修改或如何构建它。