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

Загрузка скриптов в одну строку


Recommended Posts

Доброе время суток форумчане, занимаюсь минимизацией скриптов на сайте и уперся в маленькую, но удаленькую проблему

 

есть стандартный foreach в шапке для прохода по всему массиву, с выборкой скриптов на странице:

 

<?php foreach ($scripts as $script) { ?>
<script src="<?php echo $script; ?>" type="text/javascript"></script>
<?php } ?>
 
После выполнение получается что то вроде 
 
<script src="catalog/view/theme/coloring/assets/common.js" type="text/javascript"></script>
<script src="catalog/view/theme/coloring/assets/Тратата.js" type="text/javascript"></script> 
<script src="catalog/view/theme/coloring/assets/nivo-slider/jquery.nivo.slider.pack.js" type="text/javascript"></script>
 
Мне этот вариант не подходит и нужно чтобы при выборке в условие 
 
<script src="<?php echo $script; ?>" type="text/javascript"></script>
 
Попадали только ссылки на сами скрипты, что то вроде
 
<script src="catalog/view/theme/coloring/assets/common.js,catalog/view/theme/coloring/assets/Тратата.js,catalog/view/theme/coloring/assets/nivo-slider/jquery.nivo.slider.pack.js" type="text/javascript"></script>
 
Вопрос как собственно это реализовать...( уже всю голову сломал
Надіслати
Поділитися на інших сайтах

 

....
Вопрос как собственно это реализовать...( уже всю голову сломал

 

Там один файл (с длинным "чудоковатым" названием, перечисляемых "склеенных" скриптов) со склейкой всех минимизированных скриптов в один.

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

Там один файл (с длинным "чудоковатым" названием, перечисляемых "склеенных" скриптов) со склейкой всех минимизированных скриптов в один.

сделал так, видать уже сонный)

 

<?php if ($scripts) { ?>
<script src="<?php foreach ($scripts as $script) { ?><?php echo $script; ?>,<?php } ?>" type="text/javascript"></script>
<?php } ?>
 
Но опять беда))
ЗАПЯТАЯ)
<?php echo $script; ?>,<?php } ?>
Нужно убрать последнюю запятую элемента в массиве...) как реализовать?(
Надіслати
Поділитися на інших сайтах

<?php if ($scripts) {

    $str_scripts = '';
    foreach ($scripts as $script)

        $str_scripts .= $script . ',';

    $str_scripts = substr($str_scripts, 0, -1);

    ?>

    <script src="<?php echo $str_scripts; ?>" type="text/javascript"></script>

<?php } ?>

Змінено користувачем shalan
  • +1 1
Надіслати
Поділитися на інших сайтах


проверил на Coloring

все сыпется

а зачем вам это надо ?

Купите у Марка модуль по https фиксу и улучшению Pagespeed

Модуль огонь, больше ничего не надо  :-)

Я ж написал в теме)

 

Для минификации нужно

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

Спаси

 

<?php if ($scripts) {

    $str_scripts = '';
    foreach ($scripts as $script)

        $str_scripts .= $script . ',';

    $str_scripts = substr($str_scripts, 0, -1);

    ?>

    <script src="<?php echo $str_scripts; ?>" type="text/javascript"></script>

<?php } ?>

 

Спасибо огромное, все получилось, тему можно закрывать!

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

Я ж написал в теме)

 

Для минификации нужно

Как ?

<script src="catalog/view/theme/default/js/s1.js,catalog/view/theme/default/js/s2.js"></script>

 

Будет выдавать ошибку загрузки скриптов 404

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

Как ?

<script src="catalog/view/theme/default/js/s1.js,catalog/view/theme/default/js/s2.js"></script>

 

Будет выдавать ошибку загрузки скриптов 404

С помощью minify, /min/f=...

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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