web-dev-qa-db-fra.com

Jmodel obtenir les articles d'un attribut

Je voudrais obtenir des articles d'un certain attribut, comment puis-je y parvenir.
Ci-dessous un code que je reçois pour obtenir un article d'un identifiant:

jimport('joomla.application.component.model');
JModel::addIncludePath(JPATH_SITE . '/components/com_content/models');
$Model = JModel::getInstance('Article', 'ContentModel');
$articleId = '1'; //We used here '1' article id
$article = $Model->getItem($articleId);
1
Jimmy Obonyo Abor

De manière la plus générique, vous pouvez écrire une requête pour charger les articles dans une liste. Ou, vous pouvez travailler avec le modèle d'article.

Vous pouvez vérifier son fonctionnement dans un module de contenu ou dans un composant de contenu:

mod_articles_latest

modules/mod_articles_latest/helper.php

    // Get an instance of the generic articles model
    $model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

    // Set application parameters in model
    $app       = JFactory::getApplication();
    $appParams = $app->getParams();
    $model->setState('params', $appParams);

    // Set the filters based on the module params
    $model->setState('list.start', 0);
    $model->setState('list.limit', (int) $params->get('count', 5));
    $model->setState('filter.published', 1);

    // Access filter
    $access     = !JComponentHelper::getParams('com_content')->get('show_noauth');
    $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
    $model->setState('filter.access', $access);

    // Category filter
    $model->setState('filter.category_id', $params->get('catid', array()));

    // User filter
    $userId = JFactory::getUser()->get('id');

    switch ($params->get('user_id'))
    {
        case 'by_me' :
            $model->setState('filter.author_id', (int) $userId);
            break;
        case 'not_me' :
            $model->setState('filter.author_id', $userId);
            $model->setState('filter.author_id.include', false);
            break;

        case '0' :
            break;

        default:
            $model->setState('filter.author_id', (int) $params->get('user_id'));
            break;
    }

    // Filter by language
    $model->setState('filter.language', $app->getLanguageFilter());

    //  Featured switch
    switch ($params->get('show_featured'))
    {
        case '1' :
            $model->setState('filter.featured', 'only');
            break;
        case '0' :
            $model->setState('filter.featured', 'hide');
            break;
        default :
            $model->setState('filter.featured', 'show');
            break;
    }

    // Set ordering
    $order_map = array(
        'm_dsc' => 'a.modified DESC, a.created',
        'mc_dsc' => 'CASE WHEN (a.modified = ' . $db->quote($db->getNullDate()) . ') THEN a.created ELSE a.modified END',
        'c_dsc' => 'a.created',
        'p_dsc' => 'a.publish_up',
        'random' => 'Rand()',
    );
    $ordering = JArrayHelper::getValue($order_map, $params->get('ordering'), 'a.publish_up');
    $dir      = 'DESC';

    $model->setState('list.ordering', $ordering);
    $model->setState('list.direction', $dir);

    $items = $model->getItems();
2
Anibal