Я пытаюсь создать модуль, который меняет заголовок страницы, мой модуль работает нормально, пока я не включу другой модуль с именем
Yoast_CanonicalUrl.
Модуль Yoast не касается ни одного из методов title, но расширяет тот же класс, что и мой модуль: Mage_Page_Block_Html_Head {}
Я попытался расширить класс yoast, если он существует, но мой модуль перестает функционировать после включения модуля yoast.
Я посмотрел код yoasts, чтобы увидеть, конфликтуют ли его методы с моими, и нет.
Похоже, что как только Yoast загружен, мой код больше не загружается: (
Вот мой Head.php:
<?php
if (!(string)Mage::getConfig()->getModuleConfig('Yoast_CanonicalUrl')->active == 'true')
{
class Yoast_CanonicalUrl_Block_Head extends Mage_Page_Block_Html_Head{}
}
class Company_MetaKeyManager_Block_Head extends Yoast_CanonicalUrl_Block_Head
{
public function setTitle($title)
{
$this->_data['title'] = Mage::getStoreConfig('design/head/title_prefix') . ' ' . $title
. ' ' . Mage::getStoreConfig('design/head/title_suffix');
return $this;
}
public function getTitle()
{
if (empty($this->_data['title'])) {
$this->_data['title'] = $this->getDefaultTitle();
}
return htmlspecialchars(html_entity_decode(trim($this->_data['title']), ENT_QUOTES, 'UTF-8'));
}
public function getDefaultTitle()
{
return 'Hello World';
}
}
Вот мой Config.xml:
<?xml version="1.0"?>
<config>
<modules>
<Company_MetaKeyManager>
<version>0.1.0</version>
</Company_MetaKeyManager>
</modules>
<global>
<blocks>
<MetaKeyManager>
<class>Company_MetaKeyManager_Block</class>
</MetaKeyManager>
<page>
<rewrite>
<html_head>Company_MetaKeyManager_Block_Head</html_head>
</rewrite>
</page>
</blocks>
<helpers>
<MetaKeyManager>
<class>Company_MetaKeyManager_Helper</class>
</MetaKeyManager>
</helpers>
</global>
</config>
У кого-нибудь есть предложения относительно того, почему это происходит?