admin Опубликовано 4 апреля, 2022 Поделиться Опубликовано 4 апреля, 2022 Загрузка файлов в контроллер В платформе 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Загрузка файлов в контроллер В платформе 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 смотрите в разделе Разработка модулей .
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.