缺少JURI :: getInstance()查询

时间:2012-11-29 09:24:14

标签: php joomla uri

我想在Joomla页面上有一个小的登录链接。如果我点击此链接并登录,它应该返回我之前的页面。为此,我需要查询当前页面,如option=com_component&article=....但如果我使用JURI::getInstance(),则查询为空(false)。

这是代码:

<?php
$user = & JFactory::getUser();
$site = & JURI::getInstance()->getQuery();
$return = urlencode(base64_encode('index.php?'.$site));
?>
<a class="<?php echo $user->id? 'logout-a' : 'login-a';?>" href="index.php?option=com_users&amp;view=login&amp;return=<?php echo $return ?>">
<?php
    if ($user->id) echo 'Logout';
    else echo 'Login';
?>
</a>

返回有效,但只返回index.php,而不是index.php?option=...

1 个答案:

答案 0 :(得分:0)

使用JFactory::getURI()。这可以帮助您

<?php
$user = & JFactory::getUser();
$site = & JFactory::getURI();
$return = $uri->toString();
?>
<a class="<?php echo $user->id? 'logout-a' : 'login-a';?>" href="index.php?option=com_users&amp;view=login&amp;return=<?php echo $return ?>">
<?php
    if ($user->id) echo 'Logout';
    else echo 'Login';
?>
</a>