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();
            }
        }
    }
}
Loading Conversation