insolita/yii2-metacrumbs
Composer 安装命令:
composer require insolita/yii2-metacrumbs
包简介
alternative way for work with breadcrumbs and meta
关键字:
README 文档
README
alternative way for work with breadcrumbs and metadata with open-graph-protocol helpers
also include NoLayoutBehavior for registration actions where layout must be skipped
Installation
The preferred way to install this extension is through composer.
Either run
composer require --prefer-dist insolita/yii2-metacrumbs "~2.0"
or add
"insolita/yii2-metacrumbs": "~1.0"
to the require section of your composer.json file.
Usage
- register MetaCrumbsBootstrap, or manual register as singleton :
\Yii::$container->setSingleton(IBreadcrumbCollection::class,BreadCrumbs::class);
and/or
\Yii::$container->setSingleton(IMetaManager::class,MetaManager::class);
- add widget in layout
<?= \insolita\metacrumbs\widgets\CrumbWidget::widget([]) ?>
- add CrumbedControllerTrait in base controller (or in needed controllers) and register crumbs
- add MetaManagerTrait in needed controllers or base controller (also in service possible)
Controller Example
class ExampleController extends Controller { use CrumbedControllerTrait; use MetaManagerTrait; public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], ]; } public function behaviors() { return [ 'nolayout'=>['class'=>NoLayoutBehavior::class,'actions' => ['ajax']] // 'nolayout'=>['class'=>NoLayoutBehavior::class,'actions' => ['index','about'],'except'=>true] ]; } public function beforeAction($action) { $this->registerHomeCrumb(); $this->registerIndexCrumb('Сайтег'); if ($action->id == 'error') { $this->registerCurrentCrumb('Страница ошибок'); $this->metaManager()->canonical(); } return parent::beforeAction($action); } public function actionIndex() { $this->metaManager()->canonical(Url::to(['example/default'])); $this->metaManager()->tag('description', 'Bla-bla-la-la-la'); $this->metaManager()->prop('og:description', 'Bla-bla-bla'); $this->metaManager()->prop('og:title', 'Bla-bla-bla'); $this->metaManager()->keywords('Some, keywords,list'); //Also return $this->render('index'); } public function actionView(int $id) { $this->crumbCollection->addCrumb( new CrumbItem('Special crumb', Url::to(['some/page']), 20, ['target' => '_blank']) ); $model = $this->pageFinder->findById($id); $this->registerCurrentCrumb($model->title); $this->metaManager()->ogMeta($model->title,Url::current([],true),$model->description,$model->cover,'article'); return $this->render('about',['model'=>$model]); } ....
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-05-29