こんな感じでどうでしょうか?
<?php
$topics = $page->getAttribute('blog_category');
$treeNodeName = "";
if(is_array($topics)){
$treeNodeName = $topics[0]->getTreeNodeName();
}
switch($treeNodeName ){
case:
default:
}
?>
ページリストでのトピック表示について(新着情報のカテゴリ表示)
2018年12月4日 at 19:04
トップページに、新着リストを制作中です。
そのリストに各ページのトピックを表示し、トピック毎に異なる画像を表示し、ブログのカテゴリーアイコンとして表示したいです。
●現在の設定
トピックツリー:blog_category
カテゴリー:ブログカテゴリ
トピック:ニュース
グルメ
レジャー
以下の過去質問を参考にしたのですが、画像は表示されるものの全てのトピックで同じ画像が表示されます。
http://concrete5-japan.org/community/forums/beginner/post-11126/
また、バージョン等は以下になります
# concrete5 Version
Core Version - 8.4.3
Version Installed - 8.4.3
Database Version - 20180716000000
# Server Software
Apache
# Server API
cgi-fcgi
# PHP Version
7.2.6
タグ:
Your post has been saved and will be published after approval by the forum moderator.
gajumaru
Re: ページリストでのトピック表示について(新着情報のカテゴリ表示)
<?php
$topics = $page->getAttribute('blog_category');
$topics = $topics[0]->getTreeNodeName();
switch ($topics){
case 'ニュース':
echo '<img src="----blog_news.png" />';
break;
case 'グルメ':
echo '<img src="---blog_gourmet.png" />';
break;
case 'レジャー':
echo '<img src="---blog_leisure.png" />';
break;
default:
echo "カテゴリ未設定";
}
?>
トピックが選択されていないと「カテゴリ未設定」ではなく
「Call to a member function getTreeNodeName() on null」
のエラーがでます。
初歩的なことかもしれませんが、解決方法を教えて頂けると助かります。