it-swarm.dev

モジュールのHTML出力を変更/制御するにはどうすればよいですか?

データベースのコンポーネントテーブルに接続するJoomla 3.x.xモジュールを開発しています。

変数を正常に出力する次のコードをhelper.phpに取得しました。

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

次に、フロントエンドのphpファイルは、以下を使用して上記を出力します。

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

しかし、それらは異なるDIVとして出力されます。そのうちの1つは画像なので、出力方法を制御できるようにしたいと考えています。

理想的には、次のようなものです。

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

どうすればいいのか分かりませんが、何かアイデアはありますか?

ありがとう!

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

たとえばこれはどうですか?

2
fruppel