Перейти к содержанию
View in the app

A better way to browse. Learn more.

Русскоязычное сообщество Opencart

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

В связи с блокировкой банка QIWI оплата через сайт не возможна.
Для оплаты и получения дополнений просьба писать в личные сообщения 
Admin*у
или в Телеграмм https://t.me/pascha_opencart
После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

Загрузка Файлов в Контроллере OpenCart

Рекомендуемые сообщения

Опубликовано

Загрузка файлов в контроллер

В платформе OpenCart MVC-L контроллер вашего модуля является связующим звеном, соединяющим файлы языка, модели и шаблона друг с другом. Контроллер отвечает за захват текста, содержащегося в языковом файле, и обеспечение его доступности в качестве переменных PHP в файле шаблона представления. В дополнение к наследованию функций, доступных в родительском классе контроллера, Controller, вы также можете загрузить любые файлы моделей OpenCart по умолчанию и их функции в контроллер. В этой документации мы покажем PHP-код, необходимый для загрузки файлов языка, модели и их функций.

Загрузка языкового файла в Контроллере

Контроллер выводит текст, хранящийся в языковом файле, и превращает его в переменные, которые могут быть воспроизведены в файле шаблона для отображаемого текста. Это особенно полезно для управления переводами вашего модуля. Вместо того, чтобы менять свой .файл tpl каждый раз, когда у вас есть новый перевод для изменения различных фрагментов текста внутри файла, вам просто нужно изменить текст в вашем языковом файле, и переменные в контроллере и шаблоне останутся такими же, как раньше.

Приведенный ниже фрагмент кода загрузит языковой файл внутри контроллера вашего модуля. Внутри круглых скобок вам нужно будет указать путь к языковому файлу из языковой папки.

$this->load->language('module/my_module');

Важно помнить, что контроллер администратора будет загружать только файл языка администратора, но не языковой файл каталога; и точно так же контроллер каталога будет загружать только языковой файл каталога. После того, как языковой файл будет загружен в контроллер,вы можете сохранить его текст в переменной php с использованием массива $data. $this->language->get('text') захватит текст из переменной $_['text'] внутри языкового файла.

$this->data['text'] = $this->language->get('text');

$this->language->get('text') захватит текст из переменной $_['text'] внутри языкового файла, который мы только что загрузили выше. Каждый элемент массива данных будет преобразован в свою собственную переменную. $data ['text'] станет $text для файла шаблона внутри представления. Переменная $text может jnj,hf;fnmcz в файле представления .tpl, где это необходимо:

<p><?php echo $text; ?></p>

Подгрузка заголовка тайтла

Следующий код установит текст из языкового файла в качестве заголовка страницы:

$this->document->setTitle($this->language->get('heading_title'));

Это приведет к захвату текста переменной $_['heading_title'], хранящейся в языковом файле модуля.

Если вам нужно, чтобы текст хранился как переменная сеанса php, используйте

$this->session->data['text'] вместо $this->data['text'].

Загрузка файлов моделей

Загрузка файлов модели в файл контроллера позволит вашему модулю использовать встроенные функции OpenCart. Функции внутри файлов модели взаимодействуют с базой данных магазина и позволяют добавлять / извлекать важную информацию для вашего модуля. Мы рекомендуем вам воспользоваться этими функциями, а не создавать собственные запросы к БД. Потратьте некоторое время на изучение папок модели в файлах администратора и каталога, чтобы увидеть, какие файлы могут принести пользу вашему модулю. Например, если вашему модулю необходимо извлечь информацию о товаре из базы данных магазина, будет полезно загрузить admin/model/catalog/products.php файл, так как он уже имеет множество полезных, встроенных функций, которые взаимодействуют с товарами магазина в базе данных.

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

$this->load->model('setting/setting');

Вам нужно будет указать путь к файлу, который вы хотите загрузить из папки администратора, в скобках. Приведенный выше код загрузит класс settings, чтобы у нас был доступ к функциям в классе ModelSettingSetting в файле контроллера нашей модели. Используйте следующий формат кода для вызова функции из загруженного файла модели:

$this->model_setting_setting->editSetting('my_module', $this->request->post);

Подчеркивания относятся к обозначениям файлов для model/setting/setting.php. Если у вас есть файл модели, включенный для вашего модуля, ваш код будет следовать формату, указанному выше, так как файл модели загружается в папку model.

$this->load->model(module/my_module.php);
$this->model_module_my_module->myFunction();

Приведенный выше код загрузит my_module.php, хранящийся в папке admin/model/module/my_module.php.

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

Загрузка файлов шаблонов

В контроллере вам нужно будет загрузить файл шаблона вашего модуля в представление. Для этого установите $this->template следующим образом:

$this->template = 'module/my_module.tpl';

Загрузка файлов библиотеки

Каталог OpenCart содержит коллекцию файлов библиотек, доступ к которым могут получить как администратор, так и файлы контроллера каталога. Эти файлы находятся в разделе system/library в корневой папке магазина OpenCart. В примерах кода, показанных при загрузке языкового файла, как $this->load->language, так и $this->document предоставляют доступ к функциям в файлах language.php и document.php в папке библиотеки. Если вы хотите получить доступ к функции в файле библиотеки, вам нужно вызвать ее с помощью $this->[insert library file name]->function() в классе контроллера.

Дополнительная информация

Дополнительные сведения о концепции поведения контроллера в рамках MVC framework или в контексте разработки модуля для OpenCart смотрите в разделе Разработка модулей .

 
 
  • Это тема был закреплено и закрыто
  • тема был открыт

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.