Створення сторінки в OpenCart

21

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

Основний робочий процес

OpenCart побудований з використанням популярного шаблону програмування MVC.
В цей шаблон додано ще один елемент під назвою «L» — мовна частина, тому в OpenCart він називається шаблоном MVC-L. Я не буду вдаватися в деталі MVC, оскільки це дуже популярний і знайомий шаблон дизайну, і ми докладно розглянули його в інших уроках. Тим не менш, нам все одно треба побачити, як проходить робочий процес при використанні цього шаблону.

Контролер діє як точка входу для будь-якої сторінки, на якій ви визначите більшу частину логіки програми. Модель має справу з back-end базою даних, а уявлення відповідає за підготовку вмісту, яке буде передано кінцевому користувачеві. У контексті OpenCart потрібно реалізувати контролер і подання, щоб створити нову персоналізовану сторінку.

Налаштування контролера

Давайте спробуємо зрозуміти роль контроллера в OpenCart. Контролер — це перший елемент, який буде виконуватися при запиті будь-якої сторінки. Насамперед, він відповідає за налаштування змінних, які будуть пізніше використовуватися в уявленні для відображення. Крім цього в контролері відбувається безліч інших речей:

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

Створення сторінки в OpenCart

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

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

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

Завантажуються файли моделі, щоб була можливість використовувати методи, визначені в цих моделях для отримання даних з бази даних back-end.

Визначається файл шаблону, який буде використовуватися поданням.

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

Оголошуються дочірні шаблони, які можуть відображатися як частина основного шаблону. Найпростішим прикладом цього є шаблони хедера і футера, які ви хочете відобразити у своєму основному шаблоні.

І нарешті, встановлюються значення для матеріалу, такого як назва документа, мета-опис і т. д.

Думаю, теорії досить. Подивимося, як виглядає наш користувацький контролер. Створюємо новий каталог custompage в папці catalog/controller. Створюємо новий файл mycustompage.php у catalog/controller/custompage. Вставляємо в створений файл контролера «mycustompage.php» наступний код.

document->setTitle(«My Custom Page»);
// define template file
if (file_exists(DIR_TEMPLATE . $this->config->get(‘config_template’) . ‘/template/custompage/mycustompage.tpl’)) {
$this->template = $this->config->get(‘config_template’) . ‘/template/custompage/mycustompage.tpl’;
} else {
$this->template = ‘default/template/custompage/mycustompage.tpl’;
}
// define children templates
$this->children = array(
‘common/column_left’,
‘common/column_right’,
‘common/content_top’,
‘common/content_bottom’,
‘common/footer’,
‘common/header’
);
// set data to the variable
$this->data[‘my_custom_text’] = «This is my custom page.»;
// call the «View» to render the output
$this->response->setOutput($this->render());
}
}
?>

Давайте розглянемо спосіб іменувань класу контролера. Ім’я класу контролера побудовано, слідуючи структурі каталогів і верблюжьему регістру. Зверніть увагу, що ім’я класу починається з ключового слова «Controller», за яким слідує ім’я каталогу («Custompage»), в якому знаходиться файл класу. І, нарешті, ім’я файлу класу («Mycustompage») додається в кінці. Тепер давайте детально проаналізуємо кожний розділ. Спочатку ми встановимо значення тега заголовка html для нашої сторінки.

$this->document->setTitle(«My Custom Page»);

У наступному розділі ми визначимо ім’я файлу шаблону, яке буде використовуватися елементом «View». Важливо відзначити, що спочатку необхідно перевірити, чи доступний файл шаблону в настроюваної теми, заданої з внутрішнього блоку, якщо він доступний, ми будемо використовувати його, в іншому випадку, ми будемо використовувати файл шаблону в темі «default». Це концепція перевизначення шаблону.

if (file_exists(DIR_TEMPLATE . $this->config->get(‘config_template’) . ‘/template/custompage/mycustompage.tpl’)) {
$this->template = $this->config->get(‘config_template’) . ‘/template/custompage/mycustompage.tpl’;
} else {
$this->template = ‘default/template/custompage/mycustompage.tpl’;
}

Ми також визначили дочірні шаблони, використовуючи масив. Наприклад, common/header зіставляє файл шаблону, розташований в catalog/view/theme/default/template/common/header.tpl і він виконується. Результат буде присвоєно змінній $ header, яку можна використовувати у файлі шаблону для відображення заголовка сайту.

Створення сторінки в OpenCart

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

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

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

$this->children = array(
‘common/column_left’,
‘common/column_right’,
‘common/content_top’,
‘common/content_bottom’,
‘common/footer’,
‘common/header’
);

Крім того, ми продемонстрували, як можна налаштувати користувацькі змінні, які будуть доступні у файлі шаблону. Тут ми використовували простий статичний текст, але також можна призначити більш розумний контент, наприклад, масив товарів, витягнутий з бази даних.

$this->data[‘my_custom_text’] = «This is my custom page.»;

Нарешті, саме головне — викликати уявлення, щоб почати процес візуалізації.

$this->response->setOutput($this->render());

Таким чином, це проблиск робочого процесу контролера. В інтерфейсі ви отримаєте доступ до цього контролера, використовуючи змінну рядка запиту route=custompage/mycustompage. Важливо відзначити, що якщо ви визначаєте метод контролера з будь-яким іншим ім’ям, за винятком index, потрібно вказати це в URL.

Наприклад, якщо ви створили метод з ім’ям custom, ваш формат URL-адреси переднього плану повинен виглядати так route=custompage/mycustompage/custom.

Давайте розберемося, як OpenCart знаходить URL певний файл контролера. Формат змінної route {fs}/{filename}/{methodname}. {fs} вказує на папку catalog/controller. {filename} вказує ім’я файлу контролера в папці catalog/controller/{fs}.Далі шукається метод контролера під назвою {methodname}, якщо він заданий. Якщо метод не задано, це буде стандартний метод index.

Підготовка подання

У цьому розділі ми створимо файл шаблону подання, який визначили раніше в index методі контролера. Йдемо далі і створюємо новий каталог custompage під catalog/view/theme/default/template. Створюємо новий файл mycustompage.tpl під catalog/view/theme/default/template/custompage. Вставляємо наступний контент в створений файл шаблону mycustompage.tpl.

Отже, це наш основний файл шаблону макета, який відповідає за відображення вмісту нашої сторінки. У цьому файлі шаблону ми тільки що використовували змінні, які встановили в index методі контролера.

Тільки спеціальна змінна в цьому файлі шаблону є $my_custom_text, інші змінні містять елементи, які стосуються дочірнім шаблонами, такі як хедер, футер і т. д. Змінні $column_left, $column_right, $content_top і $content_bottom використовуються для відображення модулів, присвоєних нашій сторінці користувача з back-end.

Якщо потрібно призначити модулі на настроюється сторінці, спочатку необхідно створити новий запис макета з back-end. Після того, як новий макет був доданий, потрібно додати для цього макета маршрут custompage/mycustompageзапись. Тепер можна призначити будь-модуль на сторінку.

Ми тільки що створили повну власну сторінку в OpenCart! Можна її перевірити за адресою: http://www.yoursiteurl.com/index.php?route=custompage/mycustompage.

Створення сторінки в OpenCart

Висновок

У цьому уроці ми дізналися, як створити свою власну сторінку в OpenCart. Якщо ви знайомі з шаблону MVC, то і робочий процес створення нової настроюється сторінки повинен бути знайомий. Йдемо далі і досліджуємо кілька основних файлів, щоб ознайомитись з кодом. Ще я хотів би, щоб ви розширили наш приклад, завантаживши в контролер контрольні файли моделі і мови, і подивилися, як все працює!

Створення сторінки в OpenCart

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

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

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