Back to Content class

Method months

public static array
months
(mixed $state)
Returns an array of months.
Parameters
  • \Joomla\Registry\Registry $state The state object.
Returns
  • array
Since
  • 3.9.0
Class: Content
Project: Joomla

Method months - Source code

/**
 * Returns an array of months.
 *
 * @param   Registry  $state  The state object.
 *
 * @return  array
 *
 * @since   3.9.0
 */
public static function months($state)
{
    /** @var \Joomla\Component\Content\Administrator\Extension\ContentComponent $contentComponent */
    $contentComponent = Factory::getApplication()->bootComponent('com_content');
    /** @var \Joomla\Component\Content\Site\Model\ArticlesModel $model */
    $model = $contentComponent->getMVCFactory()->createModel('Articles', 'Site', ['ignore_request' => true]);
    foreach ($state as $key => $value) {
        $model->setState($key, $value);
    }
    $model->setState('filter.category_id', $state->get('category.id'));
    $model->setState('list.start', 0);
    $model->setState('list.limit', -1);
    $model->setState('list.direction', 'asc');
    $model->setState('list.filter', '');
    $items = array();
    foreach ($model->countItemsByMonth() as $item) {
        $date = new Date($item->d);
        $items[] = HTMLHelper::_('select.option', $item->d, $date->format('F Y') . ' [' . $item->c . ']');
    }
    return $items;
}