Добавление новой страницы в админку магазина

К примеру, нам нужно просто добавить новую страницу в админку магазина.
Как правильно это сделать!?

Возьмём какую-либо существующую страницу админки и сделаем копию. Например, возьмём для этого файл /admin/cache.php, т.е. это страница в Админке - Настройки - Основные -> Мой магазин -> Контроль кэша.

1. Копируем /admin/cache.php в /admin/test.php.

С каждым файлом должен идти языковой файл, который должен находиться в /lang/russian/admin/test.php

2. Копируем /lang/russian/admin/cache.php в /lang/russian/admin/test.php

Так как в админке есть возможность разграничивать доступ, нам нужно добавить новую колонку в базу данных, в таблицу admin_access.
SQL запрос должен быть вида:

ALTER TABLE os_admin_access ADD test INT( 1 ) NOT NULL ;
UPDATE admin_access SET test = 1 WHERE customers_id = 1 LIMIT 1;

Название колонки нужно называть также как и имя файла. Если наш файл /admin/test.php, колонка должна называться test.

3. Теперь нам нужно просто добавить ссылку в меню админки на нашу новую страницу.

К примеру, в /admin/includes/header.php добавляйте после:

 
  if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['cross_sell_groups'] == '1')) echo '
  • ' . BOX_ORDERS_XSELL_GROUP . '
  • ' . "\n";

    следующую строку:
      if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['test'] == '1')) echo '
  • ' . BOX_TEST . '
  • ' . "\n";

    Ссылка на нашу страницу появится в Админке -> Настройки -> Основные -> Группы сопутствующих товаров.

    4. Да, нам нужно ещё две константы определить, которые мы укзали в прошлом пункте, а именно FILENAME_TEST и BOX_TEST.

    Открываем /admin/includes/application_top.php и добавляем внизу, до ?>:
    define('FILENAME_TEST','test.php');
    

    Открываем /lang/russian/admin/russian.php и добавляем внизу, до ?>:
    define('BOX_TEST','Моя страница');
    

    Вот и всё, теперь просто редактируйте свой новый файл /admin/test.php и добавляйте нужный Вам код.



    Дата: Воскресенье, 30 Ноября 2008