web-dev-qa-db-ja.com

カテゴリ画像をモジュールmod_article_categoriesに追加する方法

J3.3.1コアモジュールmod_articles_categoriesを使用してリストされたカテゴリにカテゴリ画像を追加するにはどうすればよいですか?

template/my-template//html/mod_articles_categories/フォルダーにモジュールオーバーライドを作成する必要があると思いますが、コードにどのような変更を加える必要がありますか?

5
Gerlof Koopmans

テンプレートオーバーライドファイルに/html/mod_articles_categories/default_items.phpコードを追加しました

<img src="<?php echo $item->getParams()->get('image') ?>" width="40" height="40" border="0"/>

この行の直後:

<a href="<?php echo JRoute::_(ContentHelperRoute::getCategoryRoute($item->id)); ?>">

これでうまくいきました。

もちろん、表示される各カテゴリに対してカテゴリ画像を設定する必要があります。そうしないと、画像が表示されません。

3
Gerlof Koopmans

カテゴリの説明に画像を追加し、モジュールパラメータ「Category Description」をyesに設定すると、説明(存在する場合)と画像が上書きされずにモジュールに表示されます。

カテゴリ画像を別の場所(タイトルの上など)に追加する必要がある場合は、オーバーライドファイルtemplate/my-template/html/mod_articles_categories/でこれを試すことができます。

<?php
  $string = $item->description;
    $beg = substr($string,strpos($string,"<img"),strlen($string));
    //$catimg = substr($beg,0,$pos_srch = strpos($beg,">"));
    $catimg = substr($beg,0,$pos_srch = strpos($beg,">"));
  echo $catimg;
?>

これにより、<img>タグを含むカテゴリの説明の最初の画像がエコーされます。

1
johanpw

$item->getParams()->get('image')を使用して、オーバーライド内に保存されたイメージパスを取得できます。そこから、そのパスをimgタグに簡単に挿入できます。

0
Bakual