web-dev-qa-db-ja.com

Joomlaカテゴリーからデータベース情報を取得する方法

データベース内の記事からすべての情報を取得する方法を知っています。カテゴリについても同じことをしようとしています。わかりやすくするために、私はビューがカテゴリに等しい場合について話しています(index.php?option = com_content&view = category)。以下は、記事の情報を取得する方法です。記事のページにいるときも、まったく同じことをしたいのですが、カテゴリのページにいるときです。ありがとう!

$input = JFactory::getApplication()->input;
$articleId = $input->getInt('id');
$article = JTable::getInstance('content');
$article->load($articleId);
$articleTitle = $article->get('title');
3
antfuentes87

コンテンツをカテゴリに変更するだけで、コンテンツと同じ方法でカテゴリテーブル内のすべてのデータにアクセスできました。

$input = JFactory::getApplication()->input;
$catId = $input->getInt('id');
$cat = JTable::getInstance('category');
$cat->load($catId);
6
antfuentes87

カテゴリビュー(view = category)を使用している場合、次のように現在のカテゴリ情報を取得できます。

$this->category->id;
$this->category->title;
$this->category->alias;
$this->category->description;
0
Taimur Aziz

この関数をPHPファイルに追加してみてください

function getCategory($id) {
    $app      = JFactory::getApplication();
    $database = JFactory::getDBO();
    $jinput   = $app->input;
    if (($jinput->get('view') == "category") || ($jinput->get('view') == "categories")) {
        return $id;
    } elseif ($jinput->get('view') == "article") {
        $sql  = "SELECT catid FROM #__content WHERE id = " . $id;
        $database->setQuery($sql);

        return $database->loadResult();
    }
}

$catId = getCategory($jinput->get('id', '', 'INT'));
0
Taimur Aziz