2013-04-22 18 views
9

Durante la visualizzazione di un ordine, i miei dipendenti desiderano poter fare clic sul nome del prodotto o sulla SKU e per fare in modo che siano un collegamento alla pagina di modifica Info prodotto del prodotto.Magento 1.7 - Come collegarsi alla pagina di modifica dell'amministratore del prodotto dalla pagina Visualizza ordine?

Ho scoperto come cambiare il nome del prodotto in un collegamento, con quel link che è l'url della pagina del prodotto sul front-end, ma non voglio che il collegamento vada al front-end, ne ho bisogno per collegare alla pagina di modifica dei prodotti in Admin Dashboard.

Questo è il codice che ho usato in:

app/design/adminhtml/default/default/template/vendite/ordine/view/oggetti/rendering/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> 

... e questo mi collega correttamente alla pagina di frontend del prodotto. Ora, come ho detto, non è quello che voglio, quindi come faccio a ottenere che questo sia un collegamento alla pagina di modifica del dashboard dell'amministratore del prodotto?

ho tentato a cambiare il codice di cui sopra nello stesso file a:

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

... tuttavia, che non è giusto, e la pagina Ordinare Soggiorni a quando provo questo. Sento che mi sto avvicinando, qualcuno di voi può aiutarmi nella giusta direzione, per favore?

risposta

14

Ok, quindi questo codice seguente, utilizzato in app/design/adminhtml/default/default/template/vendite/ordine/view/oggetti/rendering/default.phtml

opere perfettamente! Questa risposta mi è stata data da Marius nel sito Scambio pila Magento. Grazie Mario!

<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

Non sono sicuro che questo aiuti, ma spero che questo ti porti sulla strada giusta. Ho riscontrato problemi analoghi per quanto riguarda i collegamenti di amministrazione in Mage 1.7.0.2

Stavo cercando di reindirizzare un utente alla pagina di elenco dei prodotti del catalogo se l'utente prova a modificare un prodotto che è stato contrassegnato come non suo (ho usato un attributo per memorizzare l'utente amministratore del prodotto) tramite una funzione di osservazione.

ho usato il seguente codice:

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

Funziona. In precedenza tutti i reindirizzamenti avrebbero portato solo al frontend. Dovresti capire come inserire questo codice nei file .phtml. Il mio suggerimento sarebbe quello di estendere il blocco principale per questo modello.

Problemi correlati