0

我需要获取 Joomla 站点中当前页面的访问级别。我可以使用以下方法获取页面 ID:

/* Define $jinput */
$jinput = JFactory::getApplication()->input;

/* Get the current page id */
$page= $jinput->get('id');

现在,我想查询数据库以返回当前页面的访问级别。表格内容如下所示:

page_id | access | ...
1234    | 10     |...

所以页面 1234 的访问 id 为 10。这就是我试图获得 10 的内容:/* 打开连接 */

$link=mysqli_connect('localhost','user','pass');
    if(!$link){
    echo "No connection";
    exit();
    }

    if (!mysqli_set_charset($link, 'utf8'))
    {
      echo 'Unable to set database connection encoding.';
      exit();
    }

    if(!mysqli_select_db($link, 'datab')){
        echo "Can't find database";
    exit();
};

/* Find the access level of the current page */

$query = "SELECT access FROM content WHERE id=$page";

try {
    $result=$link->query($query);   
}
catch (PDOException $e){
    $error="Error".$e->getMessage();
    exit();
}

$row=mysql_fetch_array($result);

从页面获取单个值似乎非常复杂,但它不起作用!我知道查询是正确的,因为我在我的管理员 PHP 中对其进行了测试。

请帮忙,谢谢!

4

1 回答 1

0

我认为这可能是您正在寻找的:

$app = JFactory::getApplication();
$access = $app->getMenu()->getActive()->access;
echo "Access level = " . $access;
于 2013-11-10T19:10:15.203 回答