/** * {@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]); } }
/** * @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(); }