Re: ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

2015年8月10日 at 23:03

まだ、検証が足りませんが、自己解決したので、報告しておきます。

ページ属性表示ブロックのデフォルトブロックの(日付/時刻型の)表示時の処理に誤りがありました。

/concrete/blocks/page_attribute_display/date_time.php

上記の7行目が

echo $dh->formatCustom($format, $this->controller->getContent());

と成っていますが、
この第二引数が日付型オブジェクトである必要があるのですが、デフォルトブロックの編集時は、ページ属性に指定されている名称が返却されてしまいます。
(/concrete/blocks/page_attribute_display/controller.php のgetContent()の処理)

その為、前述の7行目を
if (is_object($this->controller->getContent())) {
echo $dh->formatCustom($format, $this->controller->getContent());
} else {
echo $dh->formatCustom($format);
}

とする事で、デフォルトブロックの編集時と、通常のブロック表示時とで、処理を分岐する事で回避させました。

ただ、他の動作に影響していないか?などは、確認出来ていません。

他のソースを見ると、Stackかどうか?などで処理を分岐している記述があるので、
もう少し、スマートな分岐方法があるような気がしています。

Re: ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

2015年8月11日 at 6:50
バグのようですね。ぜひ、バグトラッカーへ登録をお願いします wink

http://www.concrete5.org/developers/bugs/5-7-4-2/
 

Re: ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

2015年8月11日 at 8:11
バグトラッカーへ登録、チャンレンジ(という言葉を使わなければ行けないところが残念ですが)してみます。
 

Re: ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

2015年8月15日 at 8:14
バグトラッカーに登録した所、

5.7.5.1で修正されてたよ
と、返信頂きました。

http://www.concrete5.org/developers/bugs/5-7-4-2/date-type-custom-attributes-was-not-add-default-block/#762465
 

Re: ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

2015年8月16日 at 8:30
Nice!
 

Re: ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

2015年8月16日 at 11:15
そして、修正されたコードを読みながら、
ほう、こう修正するのね?
と、勉強させてもらっています。