sbs / yii2-seo
The module allows link SEO fields to model.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 5
Open Issues: 0
Type:yii2-extension
Requires
- php: >=7.2
- yiisoft/yii2: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpstan/phpstan: ^0.12
Suggests
- yiisoft/yii2-bootstrap: for extensions to work with Bootstrap 3.x version
- yiisoft/yii2-bootstrap4: for extensions to work with Bootstrap 4.x version
This package is auto-updated.
Last update: 2024-10-23 19:12:19 UTC
README
The module provides an ability to add SEO fields to Model. Fields: title, keywords, description.
Installation
The preferred way to install this extension is through composer.
Either run
composer require sbs/yii2-seo
or add to the require section of your application's composer.json
file next line
"sbs/yii2-seo": "^1.0"
and run
composer update
Migrations
For add table, to DataBase, you can run next command
php yii migrate/up --migrationPath=vendor/sbs/yii2-seo/src/migrations
or you can configure your application's config\console.php
This method more preferable because you can run all standard migrations commands.
'controllerMap' => [ 'migrate' => [ 'class' => MigrateController::class, 'migrationPath' => [ '@console/migrations', '@vendor/sbs/yii2-seo/src/migrations', ], //... ], //... ]
Use with Model
You need to add behaviors to model:
use sbs\behaviors\SeoBehavior; function behaviors() { return [ //... SeoBehavior::class, //... ]; }
Now all fields will be available by $model->seo.
For add/edit fields in model form view use next widget:
//... use sbs\widgets\SeoForm; //... ?> <div> <?php $form = ActiveForm::begin(); ?> //... <?= SeoForm::widget(['model' => $model, 'form' => $form]); ?> //... <div class="form-group"> <?= Html::submitButton($model->isNewRecord ? 'Create': 'Update'); ?> </div> <?php ActiveForm::end(); ?> </div>
For display this field on page view use next widget:
use sbs\widgets\SeoTags; //... SeoTags::widget(['seo' => $model->seo]); // ...
Use without Model
Also, you can use the SeoTags widget without model and DataBase. For example, if you need to add SEO to some static page and no need for editing this information in the admin panel:
use sbs\widgets\SeoTags; //... SeoTags::widget(['title' => 'title', 'keywords' => 'keyword 1, keyword 2', 'description' => 'your description']); // ...