| Recommend this page to a friend! | 
|  Download | 
| Info | Documentation |  Files |  Install with Composer |  Download | Reputation | Support forum | Blog | Links | 
| Ratings | Unique User Downloads | Download Rankings | ||||
| Not yet rated by the users | Total: 13 | All time:  11,461 This week: 524  | ||||
| Version | License | PHP version | Categories | |||
| yii2-metacrumbs 1.0 | MIT/X Consortium ... | 5 | PHP 5, Graphics, Design Patterns | 
| Description | Author | |
| This package can generate breadcrumbs for navigating between pages. | 
alternative way for work with breadcrumbs and metadata with open-graph-protocol helpers
also include NoLayoutBehavior for registration actions where layout must be skipped
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 :
 \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]);
     }
     ....
|  Files (27) | 
| File | Role | Description | ||
|---|---|---|---|---|
|  src (1 file, 3 directories) | ||||
|  tests (4 files, 2 directories) | ||||
|    .scrutinizer.yml | Data | Auxiliary data | ||
|    .travis.yml | Data | Auxiliary data | ||
|    CHANGELOG.md | Data | Auxiliary data | ||
|    codeception.yml | Data | Auxiliary data | ||
|    composer.json | Data | Auxiliary data | ||
|    README.md | Doc. | Documentation | ||
|  Files (27) | / | src | 
| File | Role | Description | ||
|---|---|---|---|---|
|  components (5 files) | ||||
|  mixins (3 files) | ||||
|  widgets (1 file) | ||||
|  MetaCrumbsBootstrap.php | Class | Class source | ||
|  Files (27) | / | src | / | components | 
| File | Role | Description | 
|---|---|---|
|  BreadCrumbs.php | Class | Class source | 
|  CrumbItem.php | Class | Class source | 
|  IBreadcrumbCollection.php | Class | Class source | 
|  IMetaManager.php | Class | Class source | 
|  MetaManager.php | Class | Class source | 
|  Files (27) | / | src | / | mixins | 
| File | Role | Description | 
|---|---|---|
|  CrumbedControllerTrait.php | Class | Class source | 
|  MetaManagerTrait.php | Class | Class source | 
|  NoLayoutBehavior.php | Class | Class source | 
|  Files (27) | / | tests | 
| File | Role | Description | ||
|---|---|---|---|---|
|  config (2 files) | ||||
|  unit (4 files, 1 directory) | ||||
|    .env | Data | Auxiliary data | ||
|    bootstrap.php | Example | Example script | ||
|    unit.suite.yml | Data | Auxiliary data | ||
|    yii | Example | Example script | ||
|  Files (27) | / | tests | / | config | 
| File | Role | Description | 
|---|---|---|
|    base.php | Aux. | Auxiliary script | 
|    console.php | Aux. | Auxiliary script | 
|  Files (27) | / | tests | / | unit | 
| File | Role | Description | ||
|---|---|---|---|---|
|  widgets (1 file) | ||||
|    bootstrap.php | Aux. | Auxiliary script | ||
|  BreadCrumbsTest.php | Class | Class source | ||
|  MetaManagerTest.php | Class | Class source | ||
|  NoLayoutBehaviorTest.php | Class | Class source | ||
| The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. | 
|  Install with Composer | 
| Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
| 100% | 
 | 
 | 
| Applications that use this package | 
 If you know an application of this package, send a message to the author to add a link here.
 If you know an application of this package, send a message to the author to add a link here.