Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Почему не получить скрипты в footer, подключаемые через controller header?


Recommended Posts

Добрый вечер, никак не могу понять ситуацию: я хочу подключить определенные js файлы на все страницы сайта, поэтому включаю их через controller header'а:
 

$this->document->addScript('catalog/view/javascript/header.js', 'footer');

Объявляю позицию футера так как все скрипты размешаю внизу сайта. И дурацкая ситуация: в контроллере футера, где получается этот массив скриптов, нет тех скриптов, которые подключаются в контроллере хедера.
 

$data['scripts'] = $this->document->getScripts'footer');

Почему так? Я совсем не понимаю происходящего. Типа на момент вызова getScript из футера они еще не записаны в массив скриптов? Контроллер хедера вроде первым должен исполняться и записывать скрипты в массив? Пожалуйста, кто имеет идеи подскажите.

Надіслати
Поділитися на інших сайтах


Наверное нужно такие скрипты не в хедере подключать, а, например в футере.

Вот пример контроллера home
 

$data['column_left'] = $this->load->controller('common/column_left');
$data['column_right'] = $this->load->controller('common/column_right');
$data['content_top'] = $this->load->controller('common/content_top');
$data['content_bottom'] = $this->load->controller('common/content_bottom');
$data['footer'] = $this->load->controller('common/footer');
$data['header'] = $this->load->controller('common/header');

$this->response->setOutput($this->load->view('common/home', $data));

 

Сначала выводится футер, а потом уже хедер и все это отдается в твиг.

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

  • +1 1
Надіслати
Поділитися на інших сайтах

10 минут назад, Prooksius сказал:

Сначала выводится футер, а потом уже хедер и все это отдается в твиг.

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

 

ОГО, вот это для меня неожиданно. Я имела убеждение, что всё сверху вниз отрабатывает и, что уж сначала хедер и где-то в самом конце футер. Теперь всё встало на свои места, спасибо вам! Я долго просидела с этим вопросом, отчаялась и решила здесь на форуме посоветоваться с обществом.

Надіслати
Поділитися на інших сайтах


хедер самый последний, поскольку в разных модулях, на самой странице может быть подключены какие-то скрипты. И чтобы все это не потерять, он работает последним.

Надіслати
Поділитися на інших сайтах

10 часов назад, Svoeobraznaya сказал:

Я имела убеждение, что всё сверху вниз отрабатывает и,

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

Надіслати
Поділитися на інших сайтах

В 17.12.2021 в 11:04, spectre сказал:

Только это плохая идея скрипты в футере подключать

Я подключила всё успешно, единственное не смогла всё адаптировать для модуля simple, поэтому для страницы cart (она же оформление заказа) оставила подключение всех скриптов сверху. Но везде на других страницах скрипты только внизу, в теле страницы я нигде скрипты не использую, всё вынесла в отдельные файлы, поэтому мне нет потребности jquery сверху подключать. Но, у большинства в магазинах используются модули и большинство магазинов не будет из этих модулей выносить скрипты, прописанные в теле twig, в отдельные файлы, поэтому для большинства магазинов потребуется подключение хотя бы jquery сверху, это я понимаю. Мой случай индивидуален.

Надіслати
Поділитися на інших сайтах


13 минут назад, Svoeobraznaya сказал:

Я подключила всё успешно

зачем? если скрипты по хорошему кешируются браузером

получить пару копеек пейджспид и немножко несовместимости? 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.