web-dev-qa-db-fra.com

SimpleCalendar - affiche la catégorie dans le module

Je configure le module simplecalendar dans Joomla 3.2.2. Qui ne semble pas être capable d'afficher la catégorie d'un événement dans le module?

Dans le backend, il y a une ligne qui charge différents paramètres d'un événement comme:

{START_DATE}: {NAME}

J'ai déjà essayé {CATEGORY}, {CATNAME}, {CAT} _ et quelques autres, mais aucun ne fait l'affaire. En essayant {CATEGORY} cela me donne même un résultat, mais il dit simplement "Erreur!", même si tous les événements sont dans une sorte de catégorie.

J'ai cherché une solution sur le site des développeurs, mais le contact et le forum semblent morts.

1
samtun

Je ne sais pas si c'est la bonne façon mais cela fonctionne pour moi.

Dans le helper.php situé dans modules/mod_simplecalendar, ajoutez ce qui suit:

$query->select('c.title AS category');

// Load the permissions functions
$user = JFactory::getUser(); 
$user_levels = implode(',', array_unique($user->getAuthorisedViewLevels()));
$params->get( 'count', '2' );

$query = $db->getQuery(true);

$query->select('a.*');
$query->select('CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END AS slug');
$query->select('CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END AS catslug');
$query->from('#__simplecalendar AS a');
$query->select('c.title AS category');
$query->join('LEFT', '#__categories AS c on c.id = a.catid');       
$query->where("( $where ) AND a.state = 1");        
$query->where('a.access IN ('.$user_levels.') AND c.access IN ( '. $user_levels .')');      

if ( $catid[0] != 0 || $categories == '' )      
{
    $query->where( $categories);
}
2
Martin