当 SEF 打开时获取 Joomla 非 sef url
我正在创建一个 joomla 系统插件。 我想检查当前页面是否正在加载任何文章。
为此,我计划检查视图是否为文章,并在这种情况下获取 id。 但当 sef 打开时,这不起作用。
有什么办法可以得到这个吗?或者在 SEF 开启的情况下如何获取非 sef url。
I am creating a joomla system plugin.
i want to check if the current page is loading any article.
For this i planned to check if view is article and get the id in that case.
But this is not working in case when sef is on.
Is there any way to get this. or how to get non-sef url in case SEF is ON.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这可能为时已晚。 :)但是其他有同样问题的人可以使用这个代码-
您应该在系统插件中使用onAfterRoute事件。
试试这个 -
无论 SEF 是否打开或关闭,这应该始终捕获“选项”和“查看”部分。
同样,您可以捕获 url 的其他部分。
编辑:注意 Joomla 3.x 你应该使用 JInput
This might be too late to answer. :) But others having same issue can use this code-
You should use onAfterRoute event in system plugin.
try this-
This should always catch the 'option' and 'view' part no matter if SEF is on or off.
Similarly you can catch other parts of the url.
EDIT: Note for Joomla 3.x you should use JInput
您可能还想检查视图变量,因为有更多布局,这意味着您不是专门在文章页面上,例如类别博客布局......
You might also want to check the view variable, as there are more layouts which would mean you are not specifically on an article page for example the category blog layout...
当您需要时,您可以通过这一行获取您的变量:
请确保在
router.php
的yourComponentNameBuildRoute
函数中将您的变量传递给 < code>$segment 并在yourComponentNameParseRoute
函数中在返回$var
时放置您的变量。欲了解更多详情,请访问:
http://docs.joomla.org/Supporting_SEF_URLs_in_your_component
You can get your
variables
when you wanted it by this line:just be sure, on
router.php
inyourComponentNameBuildRoute
function pass your varable to$segment
and inyourComponentNameParseRoute
function put your variable when you returned$var
.for more details visit this:
http://docs.joomla.org/Supporting_SEF_URLs_in_your_component