データベース内の記事からすべての情報を取得する方法を知っています。カテゴリについても同じことをしようとしています。わかりやすくするために、私はビューがカテゴリに等しい場合について話しています(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');
コンテンツをカテゴリに変更するだけで、コンテンツと同じ方法でカテゴリテーブル内のすべてのデータにアクセスできました。
$input = JFactory::getApplication()->input;
$catId = $input->getInt('id');
$cat = JTable::getInstance('category');
$cat->load($catId);
カテゴリビュー(view = category)を使用している場合、次のように現在のカテゴリ情報を取得できます。
$this->category->id;
$this->category->title;
$this->category->alias;
$this->category->description;
この関数を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'));