Exemple #1
0
 /**
  * {@inheritdoc}
  */
 protected function _prepareLayout()
 {
     parent::_prepareLayout();
     $post = $this->getPost();
     $title = $post ? $post->getName() : $this->config->getBlogName();
     $metaTitle = $post ? $post->getMetaTitle() ? $post->getMetaTitle() : $post->getName() : $this->config->getBaseMetaTitle();
     $metaDescription = $post ? $post->getMetaDescription() ? $post->getMetaDescription() : $post->getName() : $this->config->getBaseMetaDescription();
     $metaKeywords = $post ? $post->getMetaKeywords() ? $post->getMetaKeywords() : $post->getName() : $this->config->getBaseMetaKeywords();
     $this->pageConfig->getTitle()->set($metaTitle);
     $this->pageConfig->setDescription($metaDescription);
     $this->pageConfig->setKeywords($metaKeywords);
     /** @var \Magento\Theme\Block\Html\Title $pageMainTitle */
     $pageMainTitle = $this->getLayout()->getBlock('page.main.title');
     if ($pageMainTitle) {
         $pageMainTitle->setPageTitle($title);
     }
     /** @var \Magento\Theme\Block\Html\Breadcrumbs $breadcrumbs */
     if ($breadcrumbs = $this->getLayout()->getBlock('breadcrumbs')) {
         $breadcrumbs->addCrumb('home', ['label' => __('Home'), 'title' => __('Go to Home Page'), 'link' => $this->context->getUrlBuilder()->getBaseUrl()])->addCrumb('blog', ['label' => $this->config->getBlogName(), 'title' => $this->config->getBlogName(), 'link' => $this->config->getBaseUrl()]);
         //            if ($category = $post->getCategory()) {
         //                $ids = $category->getParentIds();
         //                $ids[] = 0;
         //                $parents = $this->categoryCollectionFactory->create()
         //                    ->addNameToSelect()
         //                    ->excludeRoot()
         //                    ->addFieldToFilter('entity_id', $ids)
         //                    ->setOrder('level', 'asc');
         //
         //                foreach ($parents as $cat) {
         //                    $breadcrumbs->addCrumb('blog' . $cat->getUrlKey(), [
         //                        'label' => $cat->getName(),
         //                        'title' => $cat->getName(),
         //                        'link'  => $cat->getUrl(),
         //                    ]);
         //                }
         //
         //                $breadcrumbs->addCrumb('blog' . $category->getUrlKey(), [
         //                    'label' => $category->getName(),
         //                    'title' => $category->getName(),
         //                    'link'  => $category->getUrl(),
         //                ]);
         //            }
         $breadcrumbs->addCrumb('postname', ['label' => $title, 'title' => $title]);
     }
 }
Exemple #2
0
 /**
  * @return $this
  */
 protected function _beforeToHtml()
 {
     $toolbar = $this->getToolbarBlock();
     // called prepare sortable parameters
     $collection = $this->getPostCollection();
     // use sortable parameters
     $orders = $this->getAvailableOrders();
     if ($orders) {
         $toolbar->setAvailableOrders($orders);
     }
     $sort = $this->getSortBy();
     if ($sort) {
         $toolbar->setDefaultOrder($sort);
     }
     $dir = $this->getDefaultDirection();
     if ($dir) {
         $toolbar->setDefaultDirection($dir);
     }
     $toolbar->setCollection($collection);
     $this->setChild('toolbar', $toolbar);
     $this->setCollection($toolbar->getCollection());
     $this->getPostCollection()->load();
     return parent::_beforeToHtml();
 }