Ich erstelle eine einfache Seite in meiner Magento 2-Instanz.
Im Controller für diese Seite versuche ich, einen Titel für die Seite und einen Metatitel festzulegen, der unterschiedlich sein sollte.
Aber das kann ich nicht.
Meine Layoutdatei für die Aktion ist fast leer:
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
</body>
</page>
und meine Controller-Aktion sieht folgendermaßen aus:
namespace [Namespace]\[Module]\Controller\[Entity];
use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Action\Context;
use Magento\Framework\View\Result\PageFactory;
class Index extends Action
{
protected $resultPageFactory;
public function __construct(
Context $context,
PageFactory $resultPageFactory
) {
parent::__construct($context);
$this->resultPageFactory = $resultPageFactory;
}
public function execute()
{
$resultPage = $this->resultPageFactory->create();
$resultPage->getConfig()->getTitle()->set('Something');
}
}
Das Ergebnis ist folgendes:
Der Metatitel ist jedoch der gleiche wie der Titel ( Something
).
Ändern der Leitung in der Steuerung:
$resultPage->getConfig()->getTitle()->set('Something');
zu
$resultPage->getConfig()->getTitle()->set('Something else');
führt dazu, dass der Titel (H1-Tag) und der Metatitel in geändert werden something else
.
Wie kann ich einer Seite einen anderen Metatitel und einen anderen Titel (h1-Tag) zuweisen?
page.main.title
Block funktioniert auch in Controllern. Vielen Dank.