yii2mod/yii2-cms Yii2 CMS extension

yii2-cmsyii2-cms-module

CMS Extension

This module provides a web interface for content management system and includes following features:

Latest Stable VersionTotal DownloadsLicenseBuild Status

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yii2mod/yii2-cms "*"

or add

"yii2mod/yii2-cms": "*"

to the require section of your composer.json.

CONFIGURATION

Database Migrations

Before usage this extension, we'll also need to prepare the database.

$ php yii migrate --migrationPath=@vendor/yii2mod/yii2-comments/migrations
$ php yii migrate --migrationPath=@vendor/yii2mod/yii2-cms/migrations

Module Setup

To access the module, you need to configure the modules array in your application configuration:

'modules' => [
    'cms' => [
        'class' => 'yii2mod\cms\Module',
    ],
],

You can then access to management section through the following URL:

http://localhost/path/to/index.php?r=/cms/manage/index

Configure Url Manager

You need to configure the urlManager array in your application configuration:

 'components' => [
     'urlManager' => [
         'rules' => [
             ['class' => 'yii2mod\cms\components\PageUrlRule'],
         ]
     ],
 ],

Setup Page Action

Add to SiteController (or configure via $route param in urlManager):

public function actions()
{
    return [
        'page' => [
            'class' => 'yii2mod\cms\actions\PageAction',
        ]
    ];
}

Now you can use this module with all available features.

Features:

  1. By default this extension uses the froala editor for manage cms pages, you can change editor configuration by the following code:

List of options: https://www.froala.com/wysiwyg-editor/docs/options

Configuration example: https://github.com/froala/yii2-froala-editor#usage

'modules' => [
    'cms' => [
        'class' => 'yii2mod\cms\Module',
        'froalaEditorOptions' => [
            // your custom configuration
            'clientPlugins' => [
            ],
            'clientOptions' => [
            ],
            'excludedPlugins' => [
            ],
        ],
    ],
],
  1. Markdown Editor support:

    'modules' => [
    'cms' => [
        'class' => 'yii2mod\cms\Module',
        'enableMarkdown' => true,
        // List of options: https://github.com/NextStepWebs/simplemde-markdown-editor#configuration
        'markdownEditorOptions' => [
            'showIcons' => ['code', 'table'],
        ],
    ],
    ],
  2. You can insert your own widget on the page by the following steps:
  • Create the widget, for example:
namespace app\widgets;

use yii\base\Widget;

class MyWidget extends Widget
{
   /**
    * @inheritdoc
    */
   public function run()
   {
       parent::run();

       echo 'Text from widget';
   }

   /**
    * This function used for render the widget
    *
    * @return string
    */
   public static function show()
   {
       return self::widget();
   }
}
  • When you create the page via admin panel add the following code to the page content:
 [[\app\widgets\MyWidget:show]]
  1. You can use parameters in your page content, for example: {siteName}, {homeUrl}. For parsing this parameters you can use the baseTemplateParams property:
public function actions()
{
    return [
        'page' => [
            'class' => 'yii2mod\cms\actions\PageAction',
            'baseTemplateParams' => [
               'homeUrl' => 'your site home url',
               'siteName' => Yii::$app->name
            ]
        ],
    ];
}
  1. You can change comments module settings by the following code:
public function actions()
{
    return [
        'page' => [
            'class' => 'yii2mod\cms\actions\PageAction',
            'commentWidgetParams' => [
                'maxLevel' => 1,
                'dataProviderConfig' => [
                    'pagination' => [
                        'pageSize' => 10
                    ],
                ],
            ]
        ]
    ];
}

For detail information about comments module please visit the following page

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



1.9 is the latest of 18 releases



MIT license
Stats
22 github stars & 13 github forks
1 downloads in the last day
103 downloads in the last 30 days
2645 total downloads