Подключение js-скриптов в opencart 3

Подключаю js-скрипты в отображение header через его контроллер:

    $this->document->addScript('catalog/view/theme/kotly/js/vendor.js');
    $this->document->addScript('catalog/view/theme/kotly/js/main.js');

    $data['title'] = $this->document->getTitle();

    $data['base'] = $server;
    $data['description'] = $this->document->getDescription();
    $data['keywords'] = $this->document->getKeywords();
    $data['links'] = $this->document->getLinks();
    $data['styles'] = $this->document->getStyles();
    $data['scripts'] = $this->document->getScripts('header');
Скрипты подключаются, в devtools код "200", 
но для этого скрипта в консоли выводится ошибка:"Uncaught TypeError: burger is null"

var burger = document.querySelector('.burger');
var burgerMenu = document.querySelector('.burger-menu');
var burgerMenuContent = document.querySelector('.burger-menu__content');
var body = document.querySelector('body');
var burgerLine = document.querySelectorAll('.burger__line');
burger.addEventListener('click', function () {
  var headerBottom = document.querySelector('.header-bottom');
  burgerMenu.classList.toggle('burger-menu--active');
  burgerMenuContent.classList.toggle('burger-menu--active');
  burgerLine.forEach(function (e) {
    if (burgerMenuContent.classList.contains('burger-menu--active')) {
      e.classList.add('burger-open');
    } else {
      e.classList.remove('burger-open');
    }
  });
<button class="burger header__burger btn-reset" aria-label="open menu">
          <span class="burger__line"></span>
          <span class="burger__line"></span>
          <span class="burger__line"></span>
        </button>

Но в статичной версии сайта ошибок нет и все работает, а на opencart нет


Ответы (1 шт):

Автор решения: opencartbot

На странице не найден DOM элемент с классом burger. После строки:

var burger = document.querySelector('.burger');

нужно добавить проверку на наличие такого элемента на странице:

if (burger.length > 0) {
...
}
→ Ссылка