2013-04-22 7 views
9

私の従業員は、注文を見るときに、製品の名前またはSKUをクリックして、その製品の製品情報編集ページへのリンクになることを希望します。Magento 1.7 - Order Viewページから製品のAdmin Editページにリンクするには?

製品名をリンクに変更する方法を理解しました。そのリンクはフロントエンドの製品ページのURLですが、フロントエンドにリンクする必要はありません。リンクする必要があります管理ダッシュボードの商品編集ページに移動します。

これは私が使用したコードです:

アプリ/設計/ adminhtml /デフォルト/デフォルト/テンプレート/販売/オーダー/ビュー/アイテム/レンダラ/ default.phtml

<div class="item-text"> 
<?php $_pullProduct = Mage::getModel('catalog/product')->loadByAttribute('sku', $_item->getData('sku')); ?> 
<a target="_blank" rel="external" href="<?php echo Mage::getUrl() . $_pullProduct->getData('url_path'); ?>"><?php echo $this->getColumnHtml($_item, 'name') ?></a> 
</div> 

...これは私を製品のフロントエンドページに適切にリンクさせます。さて、私が言ったように、それは私が望むものではないので、これを製品の管理ダッシュボードの編集ページへのリンクにするにはどうすればいいですか?

私はに同じファイルに上記のコードを変更することで試みた:私はこれをしようとすると、しかし、それは正しくありません、と注文を表示改ページ...

<div class="item-text"> 
<?php $_pullProduct = Mage::getModel('catalog/product')->loadByAttribute('sku', $_item->getData('sku')); ?> 
<a target="_blank" rel="external" href="<?php echo Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/catalog_product/edit', array('id' => $this->getProduct()->getId()))?>"><?php echo $this->getColumnHtml($_item, 'name') ?></a> 
</div> 

。私は近づいているように感じる、あなたのいずれかが正しい方向に私を助けることができますか?

答えて

14

オクラホマので、アプリ/設計/ adminhtml /デフォルト/デフォルト/テンプレート/販売/オーダー/ビュー/アイテム/レンダラ/ default.phtmlで使用されるこの次のコードを、完全に

作品!この回答はMagento Stack ExchangeサイトのMariusによって私に渡されました。ありがとうマリウス!

<div class="item-text"> 
<?php $_pullProduct = Mage::getModel('catalog/product')->loadByAttribute('sku', $_item->getData('sku')); ?> 
<a target="_blank" rel="external" href="<?php echo Mage::helper('adminhtml')->getUrl('adminhtml/catalog_product/edit', array('id' => $_pullProduct->getId()))?>"><?php echo $this->getColumnHtml($_item, 'name') ?></a> 
</div> 
1

これが役立つかどうかはわかりませんが、うまくいけば、これは正しい経路を導きます。私はMage 1.7.0.2の管理者リンクに関しても同様の問題に直面しました

ユーザーが自分のものではないとマークされた製品を編集しようとすると、ユーザーをカタログ製品のリストページにリダイレクトしようとしていましたオブザーバー関数を介して、製品の管理ユーザーを格納する属性)を指定します。

私は、次のコードを使用:それは作品

Mage::app()->getResponse()->setRedirect(Mage::getUrl('adminhtml/catalog_product/index'))->sendResponse(); 

を。これまではすべてのリダイレクトがフロントエンドにしかつながりませんでした。このコードを.phtmlファイルに入れる方法を理解する必要があります。私の提案は、このテンプレートのコアブロックを拡張することです。

関連する問題