Skip to content
21 changes: 20 additions & 1 deletion app/code/Magento/Catalog/Helper/Product/View.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,8 @@ private function preparePageMetadata(ResultPage $resultPage, $product)
$pageConfig = $resultPage->getConfig();

$metaTitle = $product->getMetaTitle();
$pageConfig->setMetaTitle($metaTitle);
$productMetaTitle = $metaTitle ? $this->addConfigValues($metaTitle) : null;
$pageConfig->setMetaTitle($productMetaTitle);
$pageConfig->getTitle()->set($metaTitle ?: $product->getName());

$keyword = $product->getMetaKeyword();
Expand Down Expand Up @@ -294,4 +295,22 @@ public function prepareAndRender(ResultPage $resultPage, $productId, $controller
$this->preparePageMetadata($resultPage, $product);
return $this;
}

/**
* Add Prefix and Suffix as per the configuration.
*
* @param string $title
* @return string
*/
private function addConfigValues($title)
{
$preparedTitle = $this->scopeConfig->getValue(
'design/head/title_prefix',
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
) . ' ' . $title . ' ' . $this->scopeConfig->getValue(
'design/head/title_suffix',
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
);
return trim($preparedTitle);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ public function testInitProductLayout()
/**
* @magentoDataFixture Magento/Catalog/_files/multiple_products.php
* @magentoAppIsolation enabled
* @magentoConfigFixture default_store design/head/title_prefix prefix
* @magentoConfigFixture default_store design/head/title_suffix suffix
* @magentoAppArea frontend
*/
public function testPrepareAndRender()
Expand All @@ -112,6 +114,7 @@ public function testPrepareAndRender()
/** @var \Magento\TestFramework\Response $response */
$response = $this->objectManager->get(\Magento\TestFramework\Response::class);
$this->page->renderResult($response);
$this->assertStringContainsString('prefix meta title suffix', $response->getBody());
$this->assertNotEmpty($response->getBody());
$this->assertEquals(
10,
Expand Down