Magento:在目录中添加产品页面链接->;管理产品?

Magento:在目录中添加产品页面链接->;管理产品?,magento,Magento,我需要为Magento做两件事情,这是官方团队应该做的 如何在Catalog->Manage Products(目录->管理产品)中的每个产品行末尾添加指向的单个产品页的链接?与WordPress一样,作者/管理员可以轻松单击打开帖子列表中每个帖子的帖子页面。我甚至不确定应该编辑哪个phtml文件 如何在单个产品页面上添加“编辑产品”链接,以便在特权管理员登录时指向产品的编辑器?就像WordPress一样,每个帖子页面的元行应该有一个“编辑帖子”链接,指向帖子的编辑。我知道我应该编辑catalo

我需要为Magento做两件事情,这是官方团队应该做的

  • 如何在Catalog->Manage Products(目录->管理产品)中的每个产品行末尾添加指向的单个产品页的链接?与WordPress一样,作者/管理员可以轻松单击打开帖子列表中每个帖子的帖子页面。我甚至不确定应该编辑哪个phtml文件

  • 如何在单个产品页面上添加“编辑产品”链接,以便在特权管理员登录时指向产品的编辑器?就像WordPress一样,每个帖子页面的元行应该有一个“编辑帖子”链接,指向帖子的编辑。我知道我应该编辑catalog/product/view.phtml,但如何以编程方式获取当前产品的后端编辑器链接


  • 有人能告诉我怎样才能做到这两件事吗?非常感谢

    1-当你点击在线时,他只是将你重定向到编辑产品页面。但若你们想在每一条产品线上添加链接来编辑页面,那个就很难做到。我会考虑是否在这里找到我编辑的东西

    2-在phtml文件中,您可以调用:

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

    我完全理解您为什么要求逻辑,但不幸的是,实现起来并不容易。。。虽然您可以很容易地进入第1步,但第2步会有点问题,因为与WP相对的Magento有单独的前端和管理部分会话。因此,在前端,您将无法识别登录的站点管理员,因此-向他显示链接。但让我们按顺序来解决问题:

  • 要实现步骤1,您需要修改2个文件。请记住,最好不要修改core中的文件,而是将它们移动到本地文件夹,保留目录结构。第一个更改:
    Mage\u Adminhtml\u Block\u Catalog\u Product\u Edit::\u prepareLayout
    (文件app\code\core\Mage\Adminhtml\Block\Catalog\Product\Edit.php)。就在return语句
    return parent::_prepareLayout()之前添加下一个代码:

    $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'
        ))
    );
    
    然后打开app\design\adminhtml\default\default\template\catalog\product\edit.phtml模板,并在
    案例中添加下一个代码
    。所以它看起来是这样的:

    <?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已完成,现在您应该能够在产品管理屏幕上看到查看订单按钮

  • 现在,由于Magento无法在前端看到管理员,您可以创建前端管理员客户组来处理此问题。您可以在“客户/客户组”节点创建客户组。然后在catalog/product/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;?>
    
    
    
    只是别忘了用实际的Administrators客户组id更改/your_new_group_id/。此外,如果您没有登录到Admin panel,它会要求您登录,因为正如我之前提到的,会话未连接


  • 祝你好运

    最后我自己解决了第一个问题。详细说明可在此处找到:


    但仍然在寻找第二个问题的答案。将在我拥有时更新此内容。

    以下内容可能会帮助您获得一些方法,允许您从后端产品编辑页面在前端查看产品:


    谢谢您的解决方案。我不是指在产品编辑器页面上,而是指在产品列表页面(目录->管理产品)…如何在每行末尾的“编辑”链接之后立即添加“查看”链接?对所述问题的回答很好-在网格上添加查看链接。此页面: