May 11, 2016
Tested on 8.5.4
You can override core controller of express entry detail block type by putting the file application/blocks/express_entry_detail.controller.php
.
It append the label of express entry by default, but you can change how it changes some meta tags.
<?php
namespace Application\Block\ExpressEntryDetail;
use Concrete\Core\Html\Service\Seo;
use Concrete\Core\Url\SeoCanonical;
class Controller extends \Concrete\Block\ExpressEntryDetail\Controller
{
public function action_view_express_entity($exEntryID = null)
{
$entry = $this->entityManager->find('Concrete\Core\Entity\Express\Entry', $exEntryID);
if (is_object($entry)) {
$entity = $this->entityManager->find('Concrete\Core\Entity\Express\Entity', $this->exEntityID);
if ($entry->getEntity()->getID() == $entity->getID()) {
/** @var Seo $seo */
$seo = $this->app->make('helper/seo');
// Get the value of meta_title attribute of the entry
$seo->setCustomTitle($entry->getMetaTitle());
// Get the value of meta_description attribute of the entry
$this->addHeaderItem('<meta name="description" content="' . h($entry->getMetaDescription()) . '">');
/** @var SeoCanonical $canonical */
$canonical = $this->app->make(SeoCanonical::class);
$canonical->setPathArguments(['view_express_entity', $exEntryID]);
$this->set('entry', $entry);
$this->view();
}
}
}
}