A Yii Framework 2 component for using assets in different environments (Local/CDNs)
Production Ready: Used in several real projects is enough to prove its stability.
Minimum requirements: PHP 7.0+ / Yii2 Framework 2.0.12+
Bugs / Feature Request?: Create your issue here.
- Wiki: https://github.com/blacksmoke26/yii2cdn/wiki
- Class Reference: http://blacksmoke26.github.io/yii2cdn/api/
The preferred way to install this extension is through composer.
Either run
composer require --prefer-dist blacksmoke26/yii2cdn "*"
or add
"blacksmoke26/yii2cdn": "*"
to the require section of your composer.json
file.
Info: This tutorial will demonstrate how to use FancyBox3
library in a production
(online/CDN) or development
(local/offline) environment.
- Create a
cdn
directory under the/root/web
folder. - Install or download
FancyBox3
library undercdn
directory.
- Path should be
/root/web/cdn/jquery-fancybox
. - CDN URLs: https://cdnjs.com/libraries/fancybox/3.3.5
- Open
@app/config/main.php
in your code editor. - Add a new property
cdn
undercomponents
section like the following code:
// ...
'components' => [
// ...
'cdn' => [
'class' => '\yii2cdn\Cdn',
'baseUrl' => '/cdn',
'basePath' => dirname(__DIR__) . '/web/cdn',
'components' => [
'jquery-fancybox' => [
'css' => [
'@attributes' => [
'noNameInPathUrls' => true, // Hide /css in urls
],
[
'dist/jquery.fancybox.css', // offline version
'@cdn' => '//cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.css', // online version
],
],
'js' => [
'@attributes' => [
'noNameInPathUrls' => true, // Hide /js in urls
],
[
'dist/jquery.fancybox.js', // offline version
'@cdn' => '//cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.js', // online version
],
],
],
],
],
// ...
],
// ...
- Open any view file and paste the following line:
//...
Yii::$app->cdn->get('jquery-fancybox')->register();
//...
- Browse the action url in your browser and check the view souce.
Now it's time to play around, See ya!