?>

How to connect the template to the project at Yii2 framework.

How to connect the template to the project at Yii2 framework.

In the modern world, as a basis for any web project, most often, one of the ready-made templates is chosen. Next, we will discuss how conveniently to connect this template to the project on the yii2 framework. How to update it. How to use one template in different projects.

В современном мире, за основу любого web проекта, чаще всего, выбирается один из готовых шаблонов. Далее речь пойдет о том, как удобно подключить этот шаблон к проекту на yii2 фрейворке. Как его обновлять. Как использовать один шаблон в разных проектах.


Так например, есть замечательный сайт https://wrapbootstrap.com/. На нем разные frontend-разработчики готовят, обновляют и продают свои шаблоны.

Можно оформить эти шаблоны в виде отдельных пакетов для yii2 фреймворка, и подключать их к разным проектом, а так же в нужный момент обновлять или фиксировать версию.

https://github.com/skeeks-com - вот наборы оформленных шаблонов.

Внимание! Прежде чем использовать шаблон, нужно купить лицензию на официальном сайте!

Как использовать готовый шаблон?

Разберем на примере одного из них. Например: https://github.com/skeeks-com/yii2-template-smarty

1) установка

Установка стандартная через композер.

"skeeks/yii2-template-smarty": "*"

Ну или же какая то, конкретная версия этого шаблона.

2) Asset в проекте

В вашем проекте необходимо оформить Asset, который возьмет нужные файлы из оформленного решения. Создаем SmartyThemeAsset

<?php
namespace frontend\assets;

use skeeks\template\smarty\SmartyAsset;

/**
 * Class SmartyThemeAsset
 * @package frontend\assets
 */
class SmartyThemeAsset extends SmartyAsset
{
    public $css = [
        'https://fonts.googleapis.com/css?family=Open+Sans:300,400%7CRaleway:300,400,500,600,700%7CLato:300,400,400italic,600,700',
        'css/essentials.css',
        'css/layout.css',
        'css/header-1.css',
        'css/color_scheme/green.css',
    ];

    public $js = [
        'js/scripts.js',
    ];
}

Собственно, этот Asset можно уже подключать в шаблоне.

Или прописать в зависимостях к вашему AppAsset если такой есть. Вот реальный пример из одного моего проекта:

<?php
/**
 * AppAsset
 *
 * @author Semenov Alexander <semenov@skeeks.com>
 * @link http://skeeks.com/
 * @copyright 2010-2014 SkeekS (Sx)
 * @date 20.10.2014
 * @since 1.0.0
 */

namespace frontend\assets;
use skeeks\cms\base\AssetBundle;

/**
 * Class AppAsset
 * @package frontend\assets
 */
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/app.css',

    ];
    public $js = [
        'js/app.js',

    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapPluginAsset',
        '\skeeks\sx\assets\Custom',
        '\skeeks\cms\assets\FancyboxAssets',
        '\skeeks\cms\assets\FancyboxThumbsAssets',
        '\frontend\assets\SmartyThemeAsset',
    ];
}

Зачем все это? Зачем так усложнять?

На самом деле мы ничего не усложняли. Но теперь мы с вами имеем отдельный пакет с шаблоном. Его мы можем использовать не в одном а во многих проектах.

Более того через некоторое время этот шаблон обновится и обновить его в вашем проекте будет очень легко, стандартными возможнстями composer.phar.

All Comments (0)
No Comments