web-dev-qa-db-fra.com

Comment puis-je modifier / contrôler la sortie HTML de mon module?

Je développe un module Joomla 3.x.x qui se connecte à une table de composants dans la base de données.

J'ai le code suivant dans le helper.php qui affiche les variables avec succès:

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;
}

Le fichier php frontal génère ensuite ce qui précède en utilisant ce qui suit:

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

Mais elles sont imprimées sous différentes DIV, l'une d'entre elles étant une image, je veux donc pouvoir contrôler ce qu'elles sont émises.

Idéalement, quelque chose comme:

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

Je n'arrive pas à comprendre comment faire, des idées, s'il vous plaît?

Merci!

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

Que diriez-vous de cela par exemple?

2
fruppel