magento 1.9自定义模块中的电子邮件收到错误的确认链接

时间:2017-12-15 08:26:13

标签: php email magento

我已在Magento 1.9上安装了自定义博客模块,当用户对帖子发表评论时,管理员将收到一封电子邮件,其中包含指向他可以批准或拒绝评论的页面的链接。链接不正确,我无法弄清楚原因。这是创建链接的代码:

if (Mage::getStoreConfig('blog/comments/recipient_email') != null && $model->getStatus() == 1
            && isset($commentId)
        ) {
            $translate = Mage::getSingleton('core/translate');
            /* @var $translate Mage_Core_Model_Translate */
            $translate->setTranslateInline(false);
            try {

                $adminUser = Mage::getConfig()->getNode('admin/routers/adminhtml/args/frontName');

                $data["url"] = Mage::getUrl("awblog_manage_comment/edit/id");
                $data["url"] = str_replace("index.php", $adminUser, $data["url"]);
                $data["url"] .= $commentId."/";

                $postObject = new Varien_Object();
                $postObject->setData($data);

                $mailTemplate = Mage::getModel('core/email_template');
                /* @var $mailTemplate Mage_Core_Model_Email_Template */
                $mailTemplate->setDesignConfig(array('area' => 'frontend'))
                    ->sendTransactional(
                        Mage::getStoreConfig('blog/comments/email_template'),
                        Mage::getStoreConfig('blog/comments/sender_email_identity'),
                        Mage::getStoreConfig('blog/comments/recipient_email'), null, array('data' => $postObject)
                    );
                $translate->setTranslateInline(true);
            } catch (Exception $e) {
                $translate->setTranslateInline(true);
            }
        }

当我在本地服务器上回显$ data [“url”]时,我得到了正确的链接,如下所示:

... /管理/ awblog_manage_comment /编辑/ ID / 57 /

但是当我在服务器上传代码时,我会在电子邮件中收到此链接:

... / awblog_manage_comment /编辑/ ID / 57 /

管理部分丢失,因此,当我尝试访问该链接时,我收到404错误。

有人可以说出问题是什么吗?是我的代码还是服务器,还是其他什么? 非常感谢你!

1 个答案:

答案 0 :(得分:0)

您可以使用此代码获取控制器操作的管理URL。

$data["url"] = Mage::helper('adminhtml')->getUrl('adminhtml/awblog_manage_comment/edit/id', array('_secure' => true);
$data["url"] .= $commentId."/";

注意:' awblog_manage_comment'如果您的管理员粗略不同,则替换它,否则它会正常工作。