Створення модуля панелі адміністратора в OpenCart

309

Від автора: у цій стаття я покажу, як створити в OpenCart панель адміністратора. Модулі панелі адміністратора забезпечують високорівневий інтерфейс подій і статистики в магазині. Деякі корисні модулі панелі адміністратора вже вбудовані в ядро, проте іноді хочеться відображати більш специфічну інформацію. Тому вам необхідний кастомный модуль панелі адміністратора.

Сьогодні ми створимо приклад модуля адмінки і інтегруємо його в панель. Для простоти ми зробимо блок недавніх покупців в магазині. Будемо працювати в останній версії OpenCart. Припускаю, що ви знаєте основи процесу розробки модулів в OpenCart.

Що таке модуль панелі адміністратора?

Після авторизації на back end ви потрапляєте на екран, де відображаються блоки «Total Orders», «Total Sales», «World Map» і т. д. Ці блоки – це окремі модулі адмінки, виводять корисну інформацію про те, що відбувається в магазині. Статистика – один з основних прикладів використання цих модулів.

Створення модуля панелі адміністратора в OpenCart

З технічної сторони модуль адмінки схожий на інші модулі в OpenCart, вони дотримуються тієї ж структуру і систему іменування. Але що відрізняє їх так це те, що вони прикріплені до панелі адміністратора back end.

Створення модуля панелі адміністратора в OpenCart

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

Почнемо з звичайного процесу розробки кастомного модуля для адмінки. В кінці прикріпимо наш модуль до панелі адміністратора.

Створення кастомного модуля панелі адміністратора

Створіть файл admin/controller/dashboard/recentcustomers.php з таким кодом. Наш модуль буде називатися recentcustomers.

load->language(‘dashboard/recentcustomers’);
$data[‘heading_title’] = $this->language->get(‘heading_title’);
$data[‘column_customer_id’] = $this->language->get(‘column_customer_id’);
$data[‘column_customer_name’] = $this->language->get(‘column_customer_name’);
$data[‘column_customer_email’] = $this->language->get(‘column_customer_email’);
$data[‘column_date_added’] = $this->language->get(‘column_date_added’);
$data[‘text_no_results’] = $this->language->get(‘text_no_results’);
$data[‘recentcustomers’] = array();
$this->load->model(‘report/recentcustomers’);
$results = $this->model_report_recentcustomers->getRecentCustomers();
foreach ($results as $result) {
$data[‘recentcustomers’][] = array(
‘customer_id’ => $result[‘customer_id’],
‘name’ => $result[‘firstname’] . ” . $result[‘lastname’],
’email’ => $result[’email’],
‘date_added’ => $result[‘date_added’]
);
}
return $this->load->view(‘dashboard/recentcustomers.tpl’, $data);
}
}

Досить простий контролер! Тут важливо зазначити, що ми завантажуємо модель recentcustomers і викликаємо метод getRecentCustomers для отримання останніх покупців.

Створіть мовний файл admin/language/english/dashboard/recentcustomers.php.

Тут просто задаються лейбли, які ми будемо виводити в файлі подання.

Створіть файл моделі admin/model/report/recentcustomers.php з таким кодом.

db->query(“SELECT * FROM `” . DB_PREFIX . “customer` ORDER BY date_added DESC LIMIT 5”);
return $query->rows;
}
}

У моделі ми визначили метод getRecentCustomers, який буде просто витягати п’ять останніх покупців в магазині.

Створення модуля панелі адміністратора в OpenCart

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

Створіть файл представлення admin/view/template/dashboard/recentcustomers.tpl.

У файлі подання ми в циклі бігаємо по записам покупців і виводимо їх в красиву адаптивну таблицю.

З кастомным модулем закінчили! Як ви могли помітити, процес точно такий же, як при створенні будь-якого іншого модуля. В наступному розділі ми побачимо, як прикріпити наш кастомный модуль до адмінки!

Прикріплення модуля до панелі адміністратора

Щоб прикріпити кастомный модуль до адмінки, необхідно змінити пару файлів ядра back end. Для простоти ми подивимося на необхідні зміни в файлах ядра. Ні в якому разі не міняйте файли ядра безпосередньо, використовуйте для цього OCMOD.

Відкрийте файл admin/controller/common/dashboard.php в текстовому редакторі. Знайдіть $data[‘recent’] = $this->load->controller(‘dashboard/recent’); і вставте наступний код після рядка.

$data[‘recentcustomers’] = $this->load->controller(‘dashboard/recentcustomers’);

Тут відбувається ініціалізація нашого блоку Recent Customers.

Відредагуйте файл admin/view/template/common/dashboard.tpl. Знайдіть

і після цього рядка вставити:

Майже закінчили! Тепер оновіть панель адміністратора, має відобразитися гарний модуль Recent Customers, як показано нижче.

Створення модуля панелі адміністратора в OpenCart

Висновок

Сьогодні ми дізналися, як створити кастомный модуль адмінки в OpenCart. Відмінний спосіб збирати інформацію зі всього магазину і стежити за подіями. Впевнений, інформація була корисна. Не забувайте ділитися коментарями і пропозиціями!

Створення модуля панелі адміністратора в OpenCart

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення