PHPackages                             mrstroz/yii2-wavecms-page - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. mrstroz/yii2-wavecms-page

ActiveYii2-extension

mrstroz/yii2-wavecms-page
=========================

Page module for WaveCMS

0.4.6(6y ago)03381MITPHPPHP &gt;=5.6.0

Since Sep 22Pushed 6y ago1 watchersCompare

[ Source](https://github.com/mrstroz/yii2-wavecms-page)[ Packagist](https://packagist.org/packages/mrstroz/yii2-wavecms-page)[ RSS](/packages/mrstroz-yii2-wavecms-page/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (9)Versions (22)Used By (1)

yii2-wavecms-page
=================

[](#yii2-wavecms-page)

**Page module for [Yii 2 WaveCMS](https://github.com/mrstroz/yii2-wavecms).**

Please do all install steps first from [Yii 2 WaveCMS](https://github.com/mrstroz/yii2-wavecms).

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Run

```
composer require --prefer-source "mrstroz/yii2-wavecms-page" "~0.4.0"

```

or add

```
"mrstroz/yii2-wavecms-page": "~0.4.0"

```

to the require section of your `composer.json` file.

Required
--------

[](#required)

1. Update `backend/config/main.php` (Yii2 advanced template)

```
'modules' => [
    // ...
    'wavecms-page' => [
        'class' => 'mrstroz\wavecms\page\Module',
        /*
         * Override classes
        'classMap' => [
            'Page' => 'common\models\Page',
        ]
        */
    ],
],
```

Form views can be overwritten by backend [themes](http://www.yiiframework.com/doc-2.0/guide-output-theming.html);

2. Update `frontend/config/main.php` (Yii2 advanced template)

```
'bootstrap' => [
    // ...
    'mrstroz\wavecms\page\FrontendBootstrap'
],
'modules' => [
    'sitemap' => [
        'class' => 'himiklab\sitemap\Sitemap',
        'models' => [
            'mrstroz\wavecms\page\models\Page',
        ],
        'urls' => [
            [
                'loc' => ['/'],
                'changefreq' => \himiklab\sitemap\behaviors\SitemapBehavior::CHANGEFREQ_DAILY,
                'priority' => 1,
            ]
        ],
        'cacheExpire' => 1
    ]
],
// ...
'components' => [
    'urlManager' => [
        'rules' => [
            // Add rule for sitemap.xml
            ['pattern' => 'sitemap', 'route' => 'sitemap/default/index', 'suffix' => '.xml'],
        ],
    ],
]
```

3. Run migration

Add the `migrationPath` in `console/config/main.php` and run `yii migrate`:

```
// Add migrationPaths to console config:
'controllerMap' => [
    'migrate' => [
        'class' => 'yii\console\controllers\MigrateController',
        'migrationPath' => [
            '@vendor/mrstroz/yii2-wavecms-page/migrations',
            '@vendor/mrstroz/yii2-wavecms-metatags/migrations'
        ],
    ],
],
```

Or run migrates directly

```
yii migrate/up --migrationPath=@vendor/mrstroz/yii2-wavecms-page/migrations
yii migrate/up --migrationPath=@vendor/mrstroz/yii2-wavecms-metatags/migrations

```

Overriding classes
------------------

[](#overriding-classes)

Classes can be overridden by:

1. `classMap` attribute for WaveCMS module

```
'modules' => [
    // ...
    'wavecms-page' => [
        'class' => 'mrstroz\wavecms\page\Module',
        'classMap' => [
            'Page' => \common\models\Page::class
        ]
    ],
],
```

2. Yii2 Dependency Injection configuration in `backend/config/main.php`

```
'container' => [
    'definitions' => [
        mrstroz\wavecms\page\models\Page::class => common\models\Page::class
    ],
],
```

Overriding controllers
----------------------

[](#overriding-controllers)

Use `controllerMap` attribute for WaveCMS module to override controllers

```
'modules' => [
    // ...
    'wavecms' => [
        'class' => 'mrstroz\wavecms\page\Module',
        'controllerMap' => [
            'text' => 'backend\controllers\TextController'
        ]
    ],
],
```

Overriding views
----------------

[](#overriding-views)

Use **[themes](http://www.yiiframework.com/doc-2.0/guide-output-theming.html)** for override views

```
'components' => [
    // ...
    'view' => [
        'theme' => [
            'basePath' => '@app/themes/basic',
            'baseUrl' => '@web/themes/basic',
            'pathMap' => [
                '@wavecms_page/views' => '@app/themes/basic/wavecms-page',
            ],
        ],
    ],
    // ...
],
```

Usage in frontend
-----------------

[](#usage-in-frontend)

#### Pages

[](#pages)

1. Add new rules to your urlManager. You can do it in one of your `Bootstrap` classes

```
