Я пытаюсь включить новый блок в представление заказа, добавив файл шаблона, и я хочу вызвать метод «getText ()» из своего блока, но он не работает, спасибо за помощь, спасибо.
Я создал файл макета
/app/design/adminhtml/default/default/template/sales/order/cardmessage.phtml
Я создал блок с методом getText ();
/app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Cardmessage.php
Содержание (Cardmessage.php)
class Mage_Adminhtml_Block_Sales_Order_View_Cardmessage extends Mage_Adminhtml_Block_Sales_Items_Abstract
{
/**
* Retrieve required options from parent
*/
protected function _beforeToHtml()
{
if (!$this->getParentBlock()) {
Mage::throwException(Mage::helper('adminhtml')->__('Invalid parent block for this block'));
}
$this->setOrder($this->getParentBlock()->getOrder());
parent::_beforeToHtml();
}
/**
* Retrieve order items collection
*
* @return unknown
*/
public function getItemsCollection()
{
return $this->getOrder()->getItemsCollection();
}
public function getText()
{
return "test text";
}
}
и зарегистрировал шаблон в sales.xml
/app/design/adminhtml/default/default/layout/sales.xml
Содержание (sales.xml).
<adminhtml_sales_order_view>
<reference name="head">
<action method="addJs"><file>mage/adminhtml/giftmessage.js</file></action>
<action method="addJs"><file>mage/adminhtml/giftoptions/tooltip.js</file></action>
</reference>
<reference name="content">
<block type="adminhtml/sales_order_view" name="sales_order_edit"></block>
</reference>
<reference name="left">
<block type="adminhtml/sales_order_view_tabs" name="sales_order_tabs">
<block type="adminhtml/sales_order_view_tab_info" name="order_tab_info" template="sales/order/view/tab/info.phtml">
<block type="adminhtml/sales_order_view_messages" name="order_messages"></block>
<block type="adminhtml/sales_order_view_info" name="order_info" template="sales/order/view/info.phtml"></block>
<block type="adminhtml/sales_order_view_cardmessage" name="order_cardmessage" template="sales/order/view/cardmessage.phtml"></block> <-- added entry
Но любой текст, который я вставляю в cardmessage.phtml, показывает, что я не мог вызвать методы из блока.
Задача ещё не решена.
Других решений пока нет …