ti-enxame.com

Como posso modificar / controlar a saída HTML do meu módulo?

Estou desenvolvendo um módulo Joomla 3.x.x que se conecta a uma tabela de componentes no banco de dados.

Eu tenho o seguinte código no helper.php que gera as variáveis ​​com sucesso:

public static function renderElement($table_name, $field_name, $field_value) {
    $result = '';

    switch ($table_name) {

    case '#__competition_data':
    switch($field_name){
    case 'id':
    $result = $field_value;
    break;
    case 'title':
    $result = $field_value;
    break;
    case 'introtext':
    $result = $field_value;
    break;
    case 'maintext':
    $result = $field_value;
    break;
    case 'image':
    $result = $field_value;
    break;
    case 'question':
    $result = $field_value;
    break;
    case 'correct_answer':
    $result = $field_value;
    break;
    case 'false_answer1':
    $result = $field_value;
    break;
    case 'false_answer2':
    $result = $field_value;
    break;
    case 'closing_date':
    $result = $field_value;
    break;
    case 'terms':
    $result = $field_value;
    break;
    case 'additional_info':
    $result = $field_value;
    break;
    case 'created_by':
    $user = JFactory::getUser($field_value);
    $result = $user->name;
    break;
    }
    return $result;
}

O arquivo php de front-end gera o resultado acima usando o seguinte:

<div class="span8"><?php echo ModCompetitionHelper::renderElement($params->get('item_table'), $field_name, $field_value); ?></div>

Mas eles são exibidos como DIVs diferentes, um deles é uma imagem, então eu quero poder controlar como eles são produzidos.

Idealmente, algo como:

case '#__competition_data':
    switch($field_name){
    case 'id':
    $result = $field_value_id;
    break;

Não sei como fazê-lo, alguma idéia, por favor?

Obrigado!

1
RustyJoomla
case 'image':
    $result = '<img src="' . $field_value . '" />';
    break;

Que tal isso, por exemplo?

2
fruppel