ti-enxame.com

SimpleCalendar - exibe a categoria no módulo

Estou configurando o módulo simplecalendar no Joomla 3.2.2. O que parece não ser capaz de exibir a categoria de um evento no módulo?

No back-end, há uma linha carregando parâmetros diferentes de um evento como:

{START_DATE}: {NAME}

Eu já tentei {CATEGORY}, {CATNAME}, {CAT} e mais alguns, mas nenhum deles faz o truque. Ao tentar {CATEGORY} até me fornece uma saída, mas apenas diz "Erro!", mesmo que todos os eventos estejam em algum tipo de categoria.

Procurei uma solução no site dos desenvolvedores, mas o contato e o fórum parecem estar mortos.

1
samtun

Não sei se esta é a maneira correta, mas funciona para mim.

No helper.php localizado em modules/mod_simplecalendar, adicione o seguinte:

$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