Помощь как вызывать стили, джава скрипты под каждую страницу отдельно

Sebades

Постоялец
Регистрация
14 Май 2019
Сообщения
63
Реакции
12
Оптимизирую сайт и вот дошел до такого, что я знаю, на некоторых шаблонных страницах у меня точно не используются некоторые Цсс файлы и джава скрипты.
Как мне настроить хеадер так, чтоб вызывать некоторые файлы отдельно, на конкретных шаблонных страницах?
я пробую вот так:
Код:
<?php if ($categories) { ?>
<script type="text/javascript" src="catalog/view/javascript/megnor/cycle.js"></script>
<?php }?>
и не работает
 
Копайте в сторону system/library/document.php
И контроллеров шапки, категории, товаров, производителей. В любом случае, без знания программирования не обойдется
 
если собираетесь подгружать в хедере / футере то вам надо получить реальный, не сео роутинг и отталкиваться от него. Но проще грузить в соответствующих шаблонах.
 
если собираетесь подгружать в хедере / футере то вам надо получить реальный, не сео роутинг и отталкиваться от него. Но проще грузить в соответствующих шаблонах.
как грузить в отдельных шаблонах? Я б с радостью делал именно так.
Но там код такой:
<?php echo $header; ?>
И я не знаю, как в него добавить отдельно файлы
 
Оптимизирую сайт и вот дошел до такого, что я знаю, на некоторых шаблонных страницах у меня точно не используются некоторые Цсс файлы и джава скрипты.
Как мне настроить хеадер так, чтоб вызывать некоторые файлы отдельно, на конкретных шаблонных страницах?
я пробую вот так:
Код:
<?php if ($categories) { ?>
<script type="text/javascript" src="catalog/view/javascript/megnor/cycle.js"></script>
<?php }?>
и не работает

в целом все это утопично.
единственное, что можно разделить, это посетителя и покупателя. и-то, только если в кабинет несет в себе явный функционал.
иначе вы получите обратно пропорциональный результат, т.к. браузер вместо кеширования будет дергать на каждой странице новый js и css, вместе с этим дергая паралльлено еще необходимые основные ядра.
итого количество запросов к серверу увеличится, время загрузки тоже. гугл спид вам на это понизит оценку.

пользуйтесь сжатием css, а так же media запросами, ну и сжатием js и не тратьте время на бесполезные вещи.
если бы в этом был смысл - все cms уже давно бы делали раздельные скрипты, но даже те которые так делают - например prestashop, все-равно в итоге рекомендуют сжимать все в один файл перед отдачей.
 
в контроллер шапки добавить
$data['route'] = isset($this->request->get['route']) ? $this->request->get['route'] : 'common/home';

после чего в шаблоне шапки в переменной $route будет текущий роут, ну а дальше через if :)
чтобы посмотреть какой роут на странице <?php echo $route; ?>
 
как грузить в отдельных шаблонах? Я б с радостью делал именно так.
Но там код такой:
<?php echo $header; ?>
И я не знаю, как в него добавить отдельно файлы
вот ниже и вызывайте стиль или скрипт, далеко не всем им надо быть в head
 
в целом все это утопично.
единственное, что можно разделить, это посетителя и покупателя. и-то, только если в кабинет несет в себе явный функционал.
иначе вы получите обратно пропорциональный результат, т.к. браузер вместо кеширования будет дергать на каждой странице новый js и css, вместе с этим дергая паралльлено еще необходимые основные ядра.
итого количество запросов к серверу увеличится, время загрузки тоже. гугл спид вам на это понизит оценку.

пользуйтесь сжатием css, а так же media запросами, ну и сжатием js и не тратьте время на бесполезные вещи.
если бы в этом был смысл - все cms уже давно бы делали раздельные скрипты, но даже те которые так делают - например prestashop, все-равно в итоге рекомендуют сжимать все в один файл перед отдачей.
большое спасибо за развернутый ответ.
Но как же сами рекомендации google pagespeed, где пишут, убрать цсски, которые не используются в странице?
 
большое спасибо за развернутый ответ.
Но как же сами рекомендации google pagespeed, где пишут, убрать цсски, которые не используются в странице?

эта рекомендация если и влияет на оценку, то не более одного балла. я никогда не разделял css и скрипты и получал 96-98 баллов. и-то, остальные баллы не набрать из-за использования сторонних Js, например яндекс метрики. если только скрипт метрики и подобных загрузить локально и ежедневно обновлять.

главное верно настроить кеширование, сжатие и отдачу картинок при помощи lazyload, и media в css
 
Назад
Сверху