В современном мире, за основу любого 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.


Все комментарии (0)
Нет комментариев