0

このドキュメントで説明されているように、Joomlaの記事にカスタムフィールドを実装しようとしました:http: //docs.joomla.org/Adding_custom_fields_to_the_article_component

ただし、出力は1つのテーブル出力にラップされます

<div class="rating"><table><tbody>
    <tr class="row0">
        <td>Texture</td>
        <td>Rough and Chuncky</td>
    </tr>
    <tr class="row1">
        <td>Temperatur</td>
        <td>10</td>
    </tr>
    <tr class="row0">
        <td>Taste</td>
        <td>Sweet and Sour</td>
    </tr>
</tbody></table></div>

出力を分割して、出力を次のようにするにはどうすればよいですか?

<div class="wrapper">
    <div class="div-texture-Title">Texture</div> 
    <div class="div-texture-content">Rough and Chuncky</div> 
    <div class="div-temperature-title">Temperatur</div> 
    <div class="div-temperature-content">10</div> 
    <div class="div-taste-title">Taste</div> 
    <div class="div-taste-content">Sweet and Sour</div> 
</div>
4

1 に答える 1

0

onContentPrepare要件に応じて機能を変更する必要があります。

これを試して-

public function onContentPrepare($context, &$article, &$params, $page = 0)
{
  if (!isset($article->rating) || !count($article->rating))
     return;

  // add extra css for table
  $doc = JFactory::getDocument();
  $doc->addStyleSheet(JURI::base(true).'/plugins/content/rating/rating/rating.css');   


  $output= '';
  foreach ($article->rating as $attr => $value) {
      $output .= '<div class="div-'.$attr.'-Title>'.$attr.'</div>';
      $output .= '<div class="div-'.$attr.'-content>'.$value.'</div>';
  }

  // wrap table in a classed <div>
  $suffix = $this->params->get('ratingclass_sfx', 'rating');
  $html = '<div class="'.$suffix.'">'.(string)$output .'</div>';

  $article->text = $html.$article->text;
}
于 2013-01-05T10:25:04.377 に答える