kodicms / laravel-assets
Installs: 205 107
Dependents: 7
Suggesters: 0
Security: 0
Stars: 15
Watchers: 3
Forks: 4
Open Issues: 1
Requires
- php: >=5.5.9
- laravel/framework: >=5.0
Requires (Dev)
- mockery/mockery: >=0.9.4
- phpunit/phpunit: >=4.1
README
Laravel Assets
Установка
Для установки пакета вы можете выполнить консольную команду
composer require kodicms/laravel-assets
Или добавить пакет в composer.json
{ "require": { ... "kodicms/laravel-assets": "~0.6" ... } }
Добавить в загрузку сервис провайдер
'providers' => [ ... KodiCMS\Assets\AssetsServiceProvider::class, ... ], 'aliases' => [ ... 'Assets' => KodiCMS\Assets\Facades\Assets::class, 'PackageManager' => KodiCMS\Assets\Facades\PackageManager::class, 'Meta' => KodiCMS\Assets\Facades\Meta::class, ... ]
Использование
Формирование пакетов
PackageManager::add('jquery') ->js(null, 'https://code.jquery.com/jquery-2.1.4.min.js'); PackageManager::add('jquery-ui') ->js(null, 'https://code.jquery.com/ui/1.11.4/jquery-ui.min.js', 'jquery') ->css(null, 'https://code.jquery.com/ui/1.11.4/themes/ui-lightness/jquery-ui.css'); PackageManager::add('custom') ->js(null, '...') ->js('custom.second.js', '...', 'custom') ->css(null, '...') ->css('custom.second.css', '...');
Добавление данных в вывод
Формировать мета данные для вывода можно не только в шаблоне, но и непосредственно коде приложения
use KodiCMS\Assets\Contracts\SocialMediaTagsInterface; class Article extends Model implements SocialMediaTagsInterface { ... } use Meta; class ArticleController extends Controller { public function show($articleId) { $article = Article::find($articleId); Meta::loadPackage('jquery') ->addSocialTags($article); Meta::addCss('style', url('css/style.css')); Meta::addJs('scripts', url('js/scripts.js'), 'jquery'); Meta::addJsElixir(); ... } }
Вывод
Для вывода css и js в шаблон сайта используется класс Meta.
<!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/> {!! Meta::setFavicon('favicon.ico') // Подключение файлов из пакетов ->loadPackage('jquery', 'jquery-ui', 'custom') // Meta title ->setTitle('Hello world') ->setMetaDescription('Meta description') ->setMetaKeywords('Meta keywords') ->setMetaRobots('Meta robots') // Alternative meta title ->setMetaData(MetaDataInterface $data) // Social tags ->addSocialTags(SocialMediaTagsInterface $socialTags) // Custom tag ->addMeta([ 'property' => 'og:title', 'content' => 'Title', 'name' => 'og:title' ]) ->render() !!} </head>
Вывод списка пакетов
php artisan assets:packages