Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

Пользовательские вспомогательные функции в OpenCart


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

При проектировании сайтов довольно часто приходится использовать некоторые функции, которые могут вызываться из разных частей сайтов. Не редко такие функции так же могут переносится между проектами, с их модификацией либо без них. В связи с этим удобном способом их можно выносить в отдельный файл, после чего подключать данный файл в нужных участках веб-приложения. Здесь мы рассмотрим похожую ситуацию, где требуется разместить некие функции в OpentCart так, чтобы они были доступны во всём проекте. Для этого можно воспользоваться возможностью создания хелпера (helper), который собственно прекрасно справляется с этой задачей. Термин хелпер может быть вам знаком, т.к. часто используется в различных фреймворках.
В OpenCart helper-ы размещаются в директории /system/helper. Для этого вам нужно создать файл, который в последующем вы будете подключать в скриптах. Добавим некую функцию для примера это будет функция token, которая будет генерировать некий случайные наборы символов.

<?php
function token($length = 32) {
    // Create token to login with
    $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
 
    $token = '';
 
    for ($i = 0; $i < $length; $i++) {
        $token .= $string[mt_rand(0, strlen($string) - 1)];
    }   
 
    return $token;
}

Далее есть два способа включения хелпера в проект. Первый подразумевает постоянное включение хелпера при загрузке приложения. Второй можно включать в отдельных участках кода, что в свою очередь более предпочтительно в вопросе производительности приложения, если хелпер содержит значительное количество кода.
Подгружаем хелпер для всего проекта OpenCart
Чтобы подгрузить хелпер для всего проекта, можно подключить файл непосредственно в загрузчике /system/startup добавив строку:

require_once(DIR_SYSTEM . 'library/myhelper.php');

Файл myhelper.php в этом случае это ваш хелпер, который размещен в директории /library. После этого можно обращаться к функциям и классам, которые находятся в этом файле.

Включение хелпера в отдельных скриптах OpenCart
Если хелпер содержит значимый в вопросах производительности код, и не на всех частях сайта используется, то рекомендуется подключать хелпер используя встроенный загрузчик OpenCart.
В этом случае ваш хелпер следует разместить в директории /system/helper. В коде подключение хелпера будет выполняться таким образом:

$this->load->helper('helper_name');

В качестве значения helper_name следует указать имя файла без расширения php, т.к. сам движок будет дописывать этот суффикс при загрузке. Обращение к функции следует выполнять напрямую, без использования переменной экземпляра класса $this.

$this->load->helper('myhelper'); 
token();

В результате выполнения данного кода, будет подключен файл хелпера, который находится в файле /system/helper/myhelper.php, где объявлена функция token(), после чего будет произведено обращение к этой функции.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

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