Таблица базы данных движка, которая позволяет организовывать многоуровневое меню категорий каталога новостей, называется соответственно “category". Она имеет следующие поля: id, name, alt_name, url, parent, pos. Поле “id" заполняется автоматически при добавлении строки в базу данных, “name" должно содержать имя категории, т.е. ее название, “alt_name" – название для url-адреса категории. Поле “url" может быть не заполнено и необходимо для явного задавания адреса ссылки, к примеру, это может быть адрес статической страницы. В поле “parent" указывается id родительской категории либо же цифра “0", если данная категория является корневой. “pos" содержит номер позиции относительно других категорий на этом же уровне меню каталога, что используется для установки порядка вывода пунктов меню.

Для добавления элемента меню следует заполнить все необходимые поля таблицы “category" в phpmyadmin (PMA) (пункт «Вставить»).


Похожим образом задается и главное меню сайта, только не в базе данных, а в классе модели “Category_model". Путь к ее файлу: “application/models/Category_model.php".

class Category_model extends CI_Model {
//…


public function set_main_menu() {
$this->array = array(
0 => array('id'=>1, 'name' => "Главная", 'url' => "/", 'parent' => 0, 'pos' => 0),
1 => array('id'=>2, 'name' => "Регистрация", 'url' => "/index.php/form", 'parent' => 0, 'pos' => 1),
2 => array('id'=>3, 'name' => "Вход", 'url' => "/index.php/form/login", 'parent' => 2, 'pos' => 2),
3 => array('id'=>4, 'name' => "Добавить новость", 'url' => "/index.php/addnews", 'parent' => 0, 'pos' => 3),
4 => array('id'=>5, 'name' => "Обратная связь", 'url' => "/index.php/form/feedback", 'parent' => 0, 'pos' => 4)
);
// Для администраторов
if(isset($_SESSION['user']['admin']) && $_SESSION['user']['admin']) {
$this->array[] = array('id' => 116, 'name' => "Страницы", 'url' => "/index.php/pages", 'parent' => 0, 'pos' => 5);
$this->array[] = array('id' => 117, 'name' => "Добавить страницу", 'url' => "/index.php/pages/add_page", 'parent' => 116, 'pos' => 6);
$this->array[] = array('id' => 118, 'name' => "Заказы", 'url' => "/index.php/basket/orders", 'parent' => 0, 'pos' => 7);
}
}

}

Добавлено: 25.09.2017, в 16:15:45
Отредактировано: 25.09.2017, в 16:46:13
Добавил: admin
Поиск