Может войдёшь?
Черновики Написать статью Профиль

Управление ресурсами страниц

перевод документация 3.x

Содержание

Регистрация ресурсов

Класс Asset предоставляет простой путь к управлению использования CSS и JavaScript в вашем приложении. Для подключения необходимого ресурса просто вызовите метод add класса Asset.

Регистрация ресурса:

Asset::add('jquery', 'js/jquery.js');

Метод add принимает три параметра. Первый - это имя ресурса, второй - путь к ресурсу относительно директории public, третий параметр представляет собой список зависимостей ресурса (мы вернемся к этому позднее). Заметьте, что нет необходимости указывать методу тип регистрируемого ресурса. Метод add использует раширение файла для регистрации.

Вставка ресурса

Когда вы готовы поключить зарегистрированный ресурс в представление, просто используйте методы styles или scripts:

Вставка ресурса в представление:

<head>
    <?php echo Asset::styles(); ?>
    <?php echo Asset::scripts(); ?>
</head>

Зависимости ресурсов

Иногда может понадобиться установить зависимости ресурсов, т.е. порядок включения их на страницу. Такое имеет место, когда какой-то javascript не может быть загружен раньше другого, то же самое может быть и с css стилями. И здесь нет ничего проще в Laravel! Вы просто указываете третий параметр в add методе для объявления зависимости:

Регистрация пакета, имеющего зависимости:

Asset::add('jquery-ui', 'js/jquery-ui.js', 'jquery');

В этом примере, вы определяете jquery-ui ресурс, который зависит от ресурса jquery. Теперь, при вставке на страницу, ресурс jquery будет всегда объявлен раньше jquery-ui, что позволит избежать ошибок. Все это хорошо, но что делать, если есть целая цепочка зависимостей? как их зарегистрировать? Да нет проблем:

Регистрация ресурса с множественными зависимостями:

Asset::add('jquery-ui', 'js/jquery-ui.js', array('first', 'second'));

Контейнеры ресурсов

Для улучшения отклика, обычно JavaScript размещают в конце HTML документа. Но что делать, если некотрые ресурсы необходимо разместить наверху документа? Нет проблем. Класс ресурсов предоставляет простое решение по управлению containers (контейнерами). Просто вызовите метод container класса Asset и укажите имя контейнера. Имея экземпляр контейнера, вы свободны в выборе любых ресурсов, которые вы захотите использовать в нем:

Получение экземпляра контейнера ресурсов:

Asset::container('footer')->add('example', 'js/example.js');

Вставка на страницу ресурсов данного контейнера:

echo Asset::container('footer')->scripts();

Пакеты (бандлы) ресурсов

Перед изучением как удобно добавлять и вставлять на страницу бандлы ресурсов, вам потребуется прочитать документацию создание и публикация пакетов ресурсов.

При регистрации ресурсов, путь к последним обычно указыватся относитель папки public. Тем не менее, это не всегда удобно, когда пакеты ресурсов расположены в директории public/bundles и принадлежат какому-то бандлу. Но мы помним, что Laravel облегчает нашу жизнь. Таким образом, просто укажите, из какого бандла брать ресурс.

Указание бандла, ресурс которого мы хотим использовать:

Asset::container('foo')->bundle('admin');

Теперь, когда вы добавляете ресурс, вы можете использовать пути относительно bundle директории. Laravel автоматически сгенерирует корректные полные пути.

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.