PHP Classes


Recommend this page to a friend!
  Classes of Insolita   Yii2 Metacrumbs   Download  
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Yii2 Metacrumbs
Generate breadcrumbs for navigating between pages
Author: By
Last change:
Date: 4 months ago
Size: 3,375 bytes


Class file image Download

Yii2 meta-crumbs pack

alternative way for work with breadcrumbs and metadata with open-graph-protocol helpers

also include NoLayoutBehavior for registration actions where layout must be skipped

Status Latest Stable Version Total Downloads License


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.


- register MetaCrumbsBootstrap, or manual register as singleton :




- 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)
         if ($action->id == 'error') {
             $this->registerCurrentCrumb('???????? ??????');
         return parent::beforeAction($action);

    public function actionIndex()
        $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');
        return $this->render('index');
     public function actionView(int $id)
                new CrumbItem('Special crumb', Url::to(['some/page']), 20, ['target' => '_blank'])
          $model = $this->pageFinder->findById($id);
          return $this->render('about',['model'=>$model]);