Skip to content

blendsoft/yii2-cms

 
 

Repository files navigation

CMS Extension

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

Latest Stable Version Total Downloads License Build 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'],
        ],
    ],
],
  1. 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

About

Simple CMS extension

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • PHP 100.0%