我已在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错误。
有人可以说出问题是什么吗?是我的代码还是服务器,还是其他什么? 非常感谢你!
答案 0 :(得分:0)
您可以使用此代码获取控制器操作的管理URL。
$data["url"] = Mage::helper('adminhtml')->getUrl('adminhtml/awblog_manage_comment/edit/id', array('_secure' => true);
$data["url"] .= $commentId."/";
注意:' awblog_manage_comment'如果您的管理员粗略不同,则替换它,否则它会正常工作。