gabdr Posted May 31, 2012 Share Posted May 31, 2012 (edited) Уважаемые форумчане у меня вопрос, частности SErgeyH и Орса насколько я знаю вы вкурсе, как закинуть в подвал скрипты, чтобы не грузились сначала Edited May 31, 2012 by gabdr (see edit history) Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 31, 2012 Share Posted May 31, 2012 пропиши нужный скрипт в футер и все. Link to comment Share on other sites More sharing options...
gabdr Posted May 31, 2012 Author Share Posted May 31, 2012 да это я знаю, а какой именно? и не поламается ли потом все? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted May 31, 2012 Share Posted May 31, 2012 лучше не трогай Link to comment Share on other sites More sharing options...
gabdr Posted May 31, 2012 Author Share Posted May 31, 2012 (edited) надо, лучше скажи как Edited May 31, 2012 by gabdr (see edit history) Link to comment Share on other sites More sharing options...
wagood Posted June 1, 2012 Share Posted June 1, 2012 в Classes/FrontController.php self::$smarty->assign('js_files', array_unique($js_files)); из функции displayHeader() перенести в displayFooter() туда же прописать global $js_files; в themes/../header.tpl {if isset($js_files)} {foreach from=$js_files item=js_uri} <script type="text/javascript" src="{$js_uri}"></script> {/foreach} {/if} перенести в footer.tpl Вроде всё. 1 Link to comment Share on other sites More sharing options...
gabdr Posted June 1, 2012 Author Share Posted June 1, 2012 атрибуты перестают работать Link to comment Share on other sites More sharing options...
wagood Posted June 1, 2012 Share Posted June 1, 2012 Неудивительно 1 Link to comment Share on other sites More sharing options...
gabdr Posted June 1, 2012 Author Share Posted June 1, 2012 да ладно я просто в самыйй низ хедера закинул) Link to comment Share on other sites More sharing options...
SPolischook Posted June 1, 2012 Share Posted June 1, 2012 А еще в классах престы есть метод setMedia() - самый верный способ по-моему... Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted June 1, 2012 Share Posted June 1, 2012 (edited) для начала надо ответить на вопрос "зачем") имхо, если ТС дошел до такого этапа оптимизации самостоятельно, то должен понимать что он делает и зачем п.с. для последователей этих действий, если такие найдутся, предварительно загляните в код страницы сайта ТС (смотреть на js разбросанный в коде) Edited June 1, 2012 by SergeyH (see edit history) Link to comment Share on other sites More sharing options...
gabdr Posted June 1, 2012 Author Share Posted June 1, 2012 для начала надо ответить на вопрос "зачем") имхо, если ТС дошел до такого этапа оптимизации самостоятельно, то должен понимать что он делает и зачем вас спросили вы проигнорировали, не заводите тут базар мне помогло просто переместить в самый низ header.tpl Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted June 1, 2012 Share Posted June 1, 2012 (edited) *потер* ТС - успехов. Edited June 1, 2012 by SergeyH (see edit history) Link to comment Share on other sites More sharing options...
SPolischook Posted June 1, 2012 Share Posted June 1, 2012 в Classes/FrontController.php ... Вроде всё. Не все. Есть папка override, там создаем класс перезаписующий существующий, иначе при обновлении... И чем вам не угодил setMedia() в том же FrontController, так ведь намного проще. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted June 1, 2012 Share Posted June 1, 2012 И чем вам не угодил setMedia() в том же FrontController, так ведь намного проще. Серый, setMedia формирует массив js/css файлов, он не отвечает за темплейт в котором выводится список Link to comment Share on other sites More sharing options...
SPolischook Posted June 1, 2012 Share Posted June 1, 2012 ок Link to comment Share on other sites More sharing options...
SPolischook Posted June 4, 2012 Share Posted June 4, 2012 При раскопках обнаружил у модуля метод hookFooter, по идее также можно вывести скрипт через return '<script></script>'; вот. Link to comment Share on other sites More sharing options...
sors Posted June 4, 2012 Share Posted June 4, 2012 Чтобы перенести все скрипты из хедере в конец страницы нужно переместить из header.tpl в footer.tpl {if isset($js_files)} {foreach from=$js_files item=js_uri} <script type="text/javascript" src="{$js_uri}"></script> {/foreach} {/if} При этом нужно исправить все модули, чтобы вместо return '<script></script>'; они использовали setMedia и вызов всех функций в коде страницы также перенести после вызова скриптов. Например функцию addCombination из product.tpl 1 Link to comment Share on other sites More sharing options...
Kerm Posted June 4, 2012 Share Posted June 4, 2012 А вот зачем все это, не видел не на одном высоко нагружённом проекте чтобы сували все скрипты в подвал, да и с внутренним кешированием престашопа и nginx...в общем смотрю на все это скептически. Напишите потом что изменилось и на сколько. Link to comment Share on other sites More sharing options...
sors Posted June 5, 2012 Share Posted June 5, 2012 В случае скриптов, постепенный рендеринг не начинается для всего контента ниже скрипта. Таким образом, нам выгоднее размещать скрипты как можно ниже. Конечно лучше бы вообще сделать отложенную загрузку, но если удалось перенести скрипты в подвал и при этом исправить все ошибки, то переделать это под отложенную загрузку не составит проблем. 1 Link to comment Share on other sites More sharing options...
Kerm Posted June 6, 2012 Share Posted June 6, 2012 Ну а что мы от этого выигрываем? Страница грузиться 100-300ms, это практически мгновенно, ну перенесу скрипты в подвал, время загрузки страницы точно не изменится, изменится только то как страницы будут загружатся, постепенно или после полной загрузки... Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted June 7, 2012 Share Posted June 7, 2012 Ну а что мы от этого выигрываем? Страница грузиться 100-300ms, это практически мгновенно, ну перенесу скрипты в подвал, время загрузки страницы точно не изменится, изменится только то как страницы будут загружатся, постепенно или после полной загрузки... общее время не изменится, но отрендерится (нарисуется на экране) html быстрее чем раньше, для пользователя визуально это будет выглядеть как более быстрая загрузка страницы. Только бездумно все в подвал сносить не надо. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now