Я пытаюсь создать небольшое расширение для отображения строки на странице продукта Magento 1.9.2.Поэтому я сделал это с помощью пула кода "community" для создания блока (block name = "product.info") в каталоге catalog.xml, но пока он не работал.Я думаю, что мой код правильный, но я не уверен, включены ли все соответствующие папки (Controller, helper, Observer) в мой модуль (Dinod).Пожалуйста, любой может помочь мне создать это расширение с помощью пула кода "сообщество" в Magento 1.9.2.
Я не смог получить ожидаемый результат, протестировав свое расширение с помощью пула кода "сообщество".Но такая же структура расширения работает нормально после использования «основного» пула кода.Поэтому я сохранил свой модуль (Dinod) в папке «app / code / core / Mage», и это время работало должным образом.
Эта структура кода не генерирует ожидаемого вывода через интерфейс (страница продукта).
- app / etc / modules / Jpdn_Dinod.xml
<config>
<modules>
<Jpdn_Dinod>
<active>true</active>
<codePool>community</codePool>
</Jpdn_Dinod>
</modules>
</config>
- app / code / community / Jpdn / Dinod / etc / config.xml
<config>
<modules>
<Jpdn_Dinod>
<version>1.0.3</version>
</Jpdn_Dinod>
</modules>
<frontend>
<layout>
<updates>
<Jpdn_Dinod module="Jpdn_Dinod">
<file>jpdn_dinod.xml</file>
</Jpdn_Dinod>
</updates>
</layout>
</frontend>
<global>
<!-- adding block "Jpdn_Dinod_Block_Product_View" -->
<blocks>
<jpdn_dinod>
<class>Jpdn_Dinod_Block_Product_View</class>
</jpdn_dinod>
</blocks>
<!-- adding block "Jpdn_Dinod_Block_Product_View" -->
</global>
</config>
- app / code / community / Jpdn / Dinod / Block / Product / View / dinod.php
class Jpdn_Dinod_Block_Product_View_Dinod extends Mage_Core_Block_Template
{
public function dinod_methodblock()
{
$name = "Informations from dinod_methodblock in Jpdn_Dinod";
return $name;
}
}
- app / design / frontend /base / default / layout / jpdn_dinod.xml
<layout version="1.0.3">
<catalog_product_view>
<reference name="product.info">
<!--
<block type="dinod/product_view_dinod" name="mage.view.dinod" as="mage.dinod" template="dinod/product/view/dinod.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Dinodddd works</value></action>
</block>
-->
<block type="jpdn_dinod/product_view_dinod" name="jpdn.view.dinod" as="jpdn.dinod" template="dinod/product/view/dinod.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Dinodddd works</value></action>
</block>
</reference>
</catalog_product_view>
</layout>
- app / design / внешний интерфейс / base / default / template / dinod / product / view / dinod.phtml
<?php echo $this->dinod_methodblock(); ?>
Приведенная выше структура кода не создает ожидаемого вывода через веб-интерфейс (страница продукта).
После того, как я создал новый файл класса блока в "app / code / core / Mage" и отредактировал код вфайл шаблона, как показано ниже, поэтому я получил ожидаемый вывод без каких-либо ошибок.
- app / code / core / Mage / Dinod / Block / Product / View / dinod.php
class Mage_Dinod_Block_Product_View_Dinod extends Mage_Core_Block_Template
{
public function dinod_methodblock()
{
$name = "Informations from dinod_methodblock in Mage_Dinod";
return $name;
}
}
- app / design / frontend / base / default / layout / jpdn_dinod.xml
<layout version="1.0.3">
<catalog_product_view>
<reference name="product.info">
<block type="dinod/product_view_dinod" name="mage.view.dinod" as="mage.dinod" template="dinod/product/view/dinod.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Dinodddd works</value></action>
</block>
<block type="jpdn_dinod/product_view_dinod" name="jpdn.view.dinod" as="jpdn.dinod" template="dinod/product/view/dinod.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Dinodddd works</value></action>
</block>
</reference>
</catalog_product_view>
</layout>
Но я хочу получить тот же вывод только с использованием пула кода "community" вместо использования пула кода "core" для создания блока(block name = "product.info") в каталоге catalog.xml.