2013-04-22 27 views
9

Khi xem đơn đặt hàng, nhân viên của tôi muốn có thể nhấp vào tên sản phẩm hoặc SKU và để làm liên kết đến trang chỉnh sửa Thông tin sản phẩm của sản phẩm đó.Magento 1.7 - Cách liên kết với Trang Chỉnh sửa Quản trị viên của sản phẩm từ trong trang Chế độ xem đơn đặt hàng?

Tôi đã tìm cách thay đổi tên sản phẩm thành liên kết, với liên kết đó là url của trang sản phẩm trên Giao diện người dùng, nhưng tôi không muốn liên kết đến giao diện người dùng, tôi cần liên kết đó đến trang chỉnh sửa sản phẩm trong Trang tổng quan quản trị.

Đây là mã tôi đã sử dụng trong:

ứng dụng/thiết kế/adminhtml/default/default/template/bán hàng/theo thứ tự/xem/ghi/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> 

... và điều này sẽ liên kết chính xác tôi với trang giao diện sản phẩm. Bây giờ, như tôi đã nói, đó không phải là những gì tôi muốn, vì vậy làm thế nào để tôi nhận được điều này là một liên kết đến trang chỉnh sửa bảng điều khiển quản trị của sản phẩm?

Tôi đã cố gắng vào việc thay đổi mã trên trong cùng một tập tin để:

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

... tuy nhiên đó là không đúng, và mệnh lệnh Xem ngắt trang khi tôi cố gắng này. Tôi cảm thấy như tôi đang đến gần, có thể bất cứ ai giúp tôi đi đúng hướng không?

Trả lời

14

Ok, do đó, mã sau này, được sử dụng trong ứng dụng/thiết kế/adminhtml/default/default/template/bán hàng/theo thứ tự/xem/ghi/renderer/default.phtml

công trình một cách hoàn hảo! Câu trả lời này đã được trao cho tôi bởi Marius trong trang web trao đổi ngăn xếp Magento. Cảm ơn 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

Tôi không chắc chắn nếu điều này sẽ giúp nhưng hy vọng điều này sẽ mang lại cho bạn trên con đường bên phải. Tôi đã gặp một vấn đề tương tự liên quan đến liên kết quản trị trong Mage 1.7.0.2

Tôi đang cố chuyển hướng người dùng đến trang danh sách sản phẩm danh mục nếu người dùng cố chỉnh sửa sản phẩm đã được đánh dấu là không phải của anh ấy (tôi đã sử dụng một thuộc tính để lưu trữ người dùng quản trị của sản phẩm) thông qua một chức năng quan sát viên.

tôi đã sử dụng đoạn mã sau:

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

Nó hoạt động. Trước đây tất cả các chuyển hướng sẽ chỉ dẫn đến giao diện người dùng. Bạn sẽ cần phải tìm ra cách để đặt mã này trong các tệp .phtml. Đề xuất của tôi sẽ là mở rộng khối lõi cho mẫu này.

Các vấn đề liên quan