Joomla内容编辑调用堆栈和URL路由

时间:2017-01-27 05:56:28

标签: joomla joomla3.0

我正在使用Joomla 3.x CMS。我启用了SEO。我也在路由URL,以便隐藏文章ID,类别和类别ID。因此,别名为my-alias的典型文章将包含以下网址:http://localhost/my-alias。我在方法onAfterInitialise()的系统插件中进行此路由。确保系统中的所有别名都是唯一的。现在,在查看文章时,任何有权访问权限的人都会看到如下编辑网址:http://localhost/my-alias?task=article.edit&return=someValidToken。这也正确地路由到要编辑的实际文章。

查看文章时,用户/浏览器不会看到文章ID(根据需要)。编辑时,用户/浏览器会看到文章ID(不是我想要的)。也就是说,当用户点击编辑链接时,浏览器会加载编辑表单,用户会看到以下网址:http://localhost/edit-article?view=form&layout=edit&a_id=1002&return=someValidToken,其中1002是文章ID。

以下是onAfterInitialise()的代码段:

if (isset($query['task']) && $query['task']=='article.edit') {
    // TODO Hide this change from the user/browser
    JFactory::getApplication()->input->set('view', 'form');
    JFactory::getApplication()->input->set('layout', 'edit');
    JFactory::getApplication()->input->set('a_id', $articleId);
}
else {
    JFactory::getApplication()->input->set('option', 'com_content');
    JFactory::getApplication()->input->set('view', 'article');
    JFactory::getApplication()->input->set('id', $articleId);
}
JFactory::getApplication()->input->set('Itemid', 111); // map to dummy item in hidden menu with alias edit-article

我想知道如何解决这个问题。了解通过Joomla框架的呼叫流程将有所帮助。

0 个答案:

没有答案