2012-09-10 6 views
0

Magento에서 공식 팀이 수행해야하는 2 가지 작업이 필요합니다.Magento : 카탈로그 -> 제품 관리에서 제품 페이지 링크를 추가 하시겠습니까?

  1. 카탈로그 -> 제품 관리에서 각 제품 행 끝에 대한 개별 제품 페이지에 대한 링크를 어떻게 추가합니까? WordPress와 마찬가지로 작성자/관리자는 쉽게 클릭하여 게시 목록의 각 게시물에 대한 게시 페이지를 열 수 있습니다. 나는 내가 편집해야하는 phtml 파일조차 확실하지 않다.

  2. 권한있는 관리자가 로그인했을 때 제품 편집기로 연결되는 개별 제품 페이지에 "제품 편집"링크를 추가하는 방법은 무엇입니까? WordPress와 마찬가지로 각 게시물 페이지의 메타 라인에는 게시물의 편집자에게 연결되는 "게시물 편집"링크가 있어야합니다. 카탈로그/제품/view.phtml을 편집해야하지만 프로그래밍 방식으로 현재 제품의 백엔드 편집기 링크를 얻는 방법을 알고 있습니까?

누군가이 두 가지를 어떻게 달성 할 수 있습니까? 고마워요!

답변

0

나는 완전히 이해할 수 있지만, 불행하게도 달성 ...하지만 당신이 쉽게 할 수 그렇게 쉬운 일이 아닙니다있을 것입니다 :

당신의 PHTML 파일에

2, 당신이 호출 할 수 있습니다 1 단계 작업을하려면 2 단계는 약간 문제가 될 수 있습니다. Magento는 WP와 반대쪽에서 Frontend 및 Admin 부분에 대해 별도의 세션을 가지고 있기 때문에 약간 문제가됩니다. 따라서 프론트 엔드에서 로그인 된 사이트 관리자를 식별 할 수 없기 때문에 링크를 보여줍니다. 하지만 순서대로 문제를 해결해 봅시다 :

  1. 1 단계를 수행하려면 2 개의 파일을 수정해야합니다. 코어의 파일을 수정하지 말고 대신 로컬 폴더로 이동하여 디렉토리 구조를 유지하는 것이 더 좋습니다. 먼저 변경 : Mage_Adminhtml_Block_Catalog_Product_Edit::_prepareLayout (파일 app \ code \ core \ Mage \ Adminhtml \ Block \ Catalog \ Product \ Edit.php). 그냥 반환 문 앞에 다음 코드를 추가 return parent::_prepareLayout(); : 템플릿 \ 카탈로그 \ 제품 \의 edit.phtml 템플릿 \

    $this->setChild('view_product', 
        $this->getLayout()->createBlock('adminhtml/widget_button') 
         ->setData(array(
         'label'  => Mage::helper('catalog')->__('View Product'), 
         'onclick' => "popWin('".$this->getProduct()->getProductUrl(false)."', 'popwin','width=800,height=600,resizable=yes,scrollbars=yes')", 
         'class' => 'save' 
        )) 
    ); 
    

    열기 응용 프로그램의 \ 디자인 \ adminhtml \ 기본 \ 기본을하고 <?php if($this->getProductId()): ?> 케이스 내부에 다음 코드 <?php echo $this->getChildHtml('view_product')?>를 추가합니다. 그래서 다음과 같이 표시됩니다

    <?php if($this->getProductId()): ?> 
        <?php echo $this->getDeleteButtonHtml() ?> 
        <?php if($this->getProductSetId() && $this->getIsConfigured()): ?> 
         <?php echo $this->getDuplicateButtonHtml() ?> 
        <?php endif; ?> 
        <?php echo $this->getChildHtml('view_product')?> 
    <?php endif; ?> 
    

    1 단계가 완료되면, 지금 당신은 당신의 제품 관리 화면에 주문보기 버튼을 볼 수 있어야합니다.

  2. 이제 Magento는 Frontend에서 관리자를 볼 수 없으므로이를 처리 할 Frontend Administrator 고객 그룹을 만들 수 있습니다. "고객/고객 그룹"노드에서 고객 그룹을 생성 할 수 있습니다. 그런 다음 카탈로그/제품에/파일의 맨 아래에 다음 코드를 추가 view.phtml :

    <?php if (Mage::helper('customer')->isLoggedIn()):?> 
        <?php /** @var $customer Mage_Customer_Model_Customer */?> 
        <?php $customer = Mage::helper('customer')->getCustomer();?> 
        <?php if ($customer->getGroupId() == /your_new_group_id/):?> 
         <a href="<?php echo Mage::getSingleton('adminhtml/url')->getUrl('adminhtml/catalog_product/edit', array('id' => $this->getProduct()->getId()))?>" target="_blank"> 
          <?php echo $this->__('Edit Product')?></a> 
        <?php endif;?> 
    <?php endif;?> 
    

    그냥/your_new_group_id/실제 관리자와 고객 그룹 ID를 변경하는 것을 잊지 마세요.또한 - 관리자 패널에 로그인하지 않은 경우 세션이 연결되지 않기 전에 언급 했으므로 로그인하라는 메시지가 표시됩니다.

행운을 빈다!

+0

감사합니다. 나는 제품 편집기 페이지에서 의미하지는 않았지만 제품 목록 페이지 (카탈로그 -> 제품 관리)에서 의미를 가졌습니다 .... "편집"링크 바로 뒤에있는 각 행 끝에 "보기"링크를 어떻게 추가 할 수 있습니까? "링크? –

0

1 - 라인을 클릭하면 편집 페이지로 리디렉션됩니다. 그러나 각 제품 라인에 링크를 붙여 페이지를 편집하고 싶다면 어려운 일입니다. 아프면 내가 편집 한 것을 발견하면 생각해. 당신이 논리를 요청한 이유

<a href="<?php echo Mage::getBaseUrl().'/admin/catalog_product/edit/id/'.$_product->getId()?>">Link to edit product.</a> 
1

(가) 아래 길의 일부를 얻을 도움이 될 수 있습니다, 당신은 백엔드 제품의 편집 페이지에서 프론트 엔드에서 제품을 볼 수 있습니다 : 솔루션에 대한

http://inchoo.net/ecommerce/magento/view-product-in-frontend-from-magento-admin/

+0

그리고이 페이지 : http://www.magentogoreview.com/add-view-product-page-link-to-products-list-at-catalog-manage-products~280 –