web-dev-qa-db-fra.com

Comment obtenir des informations sur la base de données de la catégorie Joomla

Je sais comment récupérer toutes les informations d'un article de la base de données. J'essaie de faire la même chose pour une catégorie. Et juste pour clarification, je parle de quand view est égal à category (index.php? Option = com_content & view = category). Vous trouverez ci-dessous comment récupérer des informations sur un article. Lorsque je suis sur une page d'article, je veux faire exactement la même chose, mais lorsque je suis sur une page de catégorie. Merci!

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

Tout ce que je devais faire était de changer le contenu en catégorie et je pouvais accéder à toutes les données de la table des catégories en utilisant la même méthode que pour le contenu.

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

Lorsque vous êtes dans une vue de catégorie (vue = catégorie), vous pouvez simplement récupérer les informations de la catégorie actuelle comme suit

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

Essayez d’ajouter cette fonction dans votre fichier 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