2013-04-22 7 views
9

Beim Anzeigen einer Bestellung möchten meine Mitarbeiter möglicherweise auf den Produktnamen oder die Artikelnummer klicken und dies als Verknüpfung zur Produkteingabeseite dieses Produkts verwenden.Magento 1.7 - Wie verlinke ich auf der Seite "Order View" zur Seite "Admin Edit" des Produkts?

Ich habe herausgefunden, wie man den Produktnamen in einen Link ändert, wobei dieser Link die URL der Produktseite auf Frontend ist, aber ich möchte nicht, dass der Link zum Frontend geht, ich brauche ihn zum Linken auf der Seite zum Bearbeiten von Produkten im Admin-Dashboard.

Dies ist der Code, den ich in verwendet:

app/design/adminhtml/default/default/template/Vertrieb/Bestellung/view/Artikel/Renderer/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> 

... und das verbindet mich richtig mit der Produkt-Frontend-Seite. Nun, wie gesagt, das ist nicht das, was ich will, also wie bekomme ich das als Link zur Bearbeitungsseite des Admin-Dashboards?

ich versuchte, in der gleichen Datei den obigen Code auf einer Änderung zu:

<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> 

... aber das ist nicht richtig, und die Bestellen von Seitenumbrüchen, wenn ich dies versuchen. Ich habe das Gefühl, mir nahe zu kommen. Kann mir bitte jemand in die richtige Richtung helfen?

Antwort

14

Ok, so dass diese folgenden Code, verwendet in app/design/adminhtml/default/default/template/Vertrieb/Bestellung/view/Artikel/Renderer/default.phtml

funktioniert perfekt! Diese Antwort wurde mir von Marius in der Magento Stack Exchange Site gegeben. Danke 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

Ich bin mir nicht sicher, ob dies hilft, aber hoffentlich bringt Sie das auf den richtigen Weg. Ich sah ein ähnliches Problem in Bezug auf Admin-Links in Mage 1.7.0.2

Ich habe versucht, einen Benutzer auf die Katalog-Produktliste Seite umleiten, wenn der Benutzer versucht, ein Produkt zu bearbeiten, die nicht als seine markiert wurde (ich verwendete ein Attribut zum Speichern des Admin-Benutzers des Produkts) über eine Beobachterfunktion.

habe ich den folgenden Code:

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

Es funktioniert. Bisher würden alle Weiterleitungen nur zum Frontend führen. Sie müssten herausfinden, wie Sie diesen Code in .phtml-Dateien einfügen. Mein Vorschlag wäre, den Kernblock für diese Vorlage zu erweitern.