Re: Attribute Displayer の日付フォーマット

2015年3月29日 at 15:58

endo様
ありがとうございます。
申し訳ありません、ソースの引用部分の投稿方法が間違っているのか、
後半部分が投稿されていませんでした。
改めて投稿させていただきますので、よろしくお願いいたします。

尚、ご説明が足りないかもしれませんので補足ですが、
「日付属性」とは日付タイプの任意のページ属性という意味です。
これを事前に作成し、コンポーザで使用できるように設定します。
作成したページ内でこの属性を表示したいという事です。

=============================

バージョン5.6.3.2にて、無料のアドオン「Attribute Displayer」を使用してページ内に日付属性(日付のみ)を表示したいのですが、「日付+時刻」表示となってしまいます。

そこで、\packages\attribute_displayer\blocks\attribute_displayerにあるview.phpをカスタマイズしようと思い、いろいろと挑戦しているのですが、うまく表示されません。

<?php
defined('C5_EXECUTE') or die(_("Access Denied."));
?>
<<?php echo $wrap?> class="<?php echo $class?>">
<?php
if(is_a($attribute,'File')){
$f = File::getByID($attribute->fID);
$path = $f->getRelativePath();
echo '<img src="'.$path.'" alt=""/>';

→ }else if(        )){
→ $dh = Loader::helper('date');
→ $acvdate = $dh->formatDate($attribute,true);
→ echo $acvdate;

}else{
echo $attribute;
}
?>
</<?php echo $wrap?>>



たぶんこのような形になる??かと思うのですが、
この矢印の部分にどのように記述すれば良いか、どなたかご教示いただけないでしょうか。
もしくは、参考になる資料等を教えていただければ幸いです。
よろしくお願いいたします。

タグ:

Re: Attribute Displayer の日付フォーマット

2015年3月29日 at 17:26
take34さん

かっこいいソースではありませんが、

<?php
global $c;
$ak = CollectionAttributeKey::getByID($akID);

if(is_a($attribute,'File')){
$f = File::getByID($attribute->fID);
$path = $f->getRelativePath();
echo '<img src="'.$path.'" alt=""/>';
}elseif($ak->akHandle == 'add_date'){
echo date('Y/m/d',strtotime($attribute));
}else{
echo $attribute;
}
?>


$ak->akHandleで比較しているのは、追加したページ属性のハンドル名を指定しています。
controller.php側ともう少しうまく連携できたら、スマートにコードが書けるかも・・・
 

Re: Attribute Displayer の日付フォーマット

2015年3月29日 at 17:57
endo様

ご返信ありがとうございます!
無事表示する事ができました!

助かりました、ありがとうございました!