Magento管理者のメイン注文詳細ページに印刷注文ボタンを追加しようとしています。クライアントの古いMagentoには、注文自体の印刷ボタンがありました(請求書ではなく、有料または未払い)。以前はどのように見えたかを確認してください。
バックエンドでテンプレートヒントを有効にしましたが、テンプレートファイルにそのボタンが含まれていません。私はいくつかのコアファイルを調べてきました...htmlは次のようになります。これを、現在表示されている注文に適用できるphpボタンに変換するにはどうすればよいですか?
<button id="id_d808fbd2d533d4e7b8e4a3fcd6274251" title="Back" type="button" class="scalable back" onclick="setLocation('http://test.animalnecessity.com/index.php/admin/sales_order/index/order_id/15852/key/28a65aa166da1664c65971decf3e472c/')" style="">
これを実装できますか? Magento-販売注文ビューページ(オブザーバー/イベント)にボタンを追加します。その場合、このコードをどこに配置しますか?
http://alanstorm.com/magento_config
で説明されているように、一般的なモジュール構造でセットアップしました。etcフォルダーのconfig.xmlには次のものがあります
<config>
<modules>
<CaitlinHavener_printOrder>
<version>0.1.0</version>
</CaitlinHavener_printOrder>
</modules>
<global>
<events>
<core_block_abstract_to_html_before>
<observers>
<CaitlinHavener_printOrder>
<class>CaitlinHavener_printOrder_Model_Observer</class>
<method>orderPageButton</method>
<type>model</type>
</CaitlinHavener_printOrder>
</observers>
</core_block_abstract_to_html_before>
</events>
</global>
</config>
私のCaitlinHavener_printOrder.xmlは次のとおりです
<config>
<modules>
<CaitlinHavener_printOrder>
<active>true</active>
<codePool>local</codePool>
</CaitlinHavener_printOrder>
</modules>
</config>
およびObserver.php
<?php
// Order View Page button
class CaitlinHavener_printOrder_Model_Observer
{
public function orderPageButton( Varien_Event_Observer $observer )
{
if(get_class($block) =='Mage_Adminhtml_Block_Sales_Order_View'
&& $block->getRequest()->getControllerName() == 'sales_order')
{
$block->addButton('test_print', array(
'label' => 'Test',
'onclick' => 'setLocation(\'' . $block->getUrl('html/sales_order/print') . '\')',
'class' => 'go'
));
}
}
}
?>
これはまだ機能していません。何か案は?