ページタイプ-出力の編集でエラー

2015年7月9日 at 12:44

こんにちは。

標準のElementalを使ってホームページを作成中です。

ページタイプ-ポートフォリオプロジェクト-出力左サイドバーのデフォルトを編集
↑でデフォルトを編集中、サイドバーに追加したブロックの日時の出力設定を間違えたようで

予期せぬエラーが発生しました。
Can't convert '[発売日]' to a \DateTime

と表示されます。

該当箇所を訂正や削除したいのですが、編集画面にはエラーを発生させている(追加した)ブロックが表示されなくなってしまっています。

以前のバージョンに戻すか、直接htmlを編集するなりして該当箇所を削除したいのですが、どうしたら良いのでしょうか?

お手数おかけしますが、よろしくお願いします。

タグ:

Re: ページタイプ-出力の編集でエラー

2015年7月10日 at 0:00
まず手元に適切な5.7の環境がないので、検証せずに回答しますのでご了承ください。

まずバージョンの戻し方は、以下をご参照ください。
http://concrete5-japan.org/help/5-7/using-concrete5-7/in-page-editing/the-toolbar/page-edit-drop-down/%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3/

上記ページでは、編集モードからバージョンを戻していますので、もしかしたらお手元のエラー状況ではできないかもしれません。

もし管理画面に入ることが出来るのであれば、管理画面→サイトマップ→フルサイトマップなどで当該ページを表示し、そこページ名をクリックして出てくるポップアップの中に「バージョン」があり、そこから上記URLとほぼ同じやり方でバージョンを戻せます。

デフォルトの編集ですが、今は手元で出来無いため、時間が出来たときに検証してみます。
できれば、もう少し詳しく編集時の内容を教えてください。(日時出力設定をどのように設定したのか、等)
 

Re: ページタイプ-出力の編集でエラー

2015年7月10日 at 10:25
kohkiさま

お返事ありがとうございます。

①バージョンの戻し方
「デフォルトを編集」の編集画面だと「ページ設定」がありません。
なので、編集画面からバージョンを戻せませんでした。

②管理画面
管理画面には入れます。
「サイトマップ-サイトマップにシステムページを含める」で見てみたのですが、ページそのものはありますが、「ページタイプ-ポートフォリオプロジェクト-出力-左サイドバー-デフォルトを編集」で編集したページは該当が無いように思います。

編集内容ですが、
追加したブロックは「ページ属性表示を追加」です。
日付を追加しようとしました。
オプションの日付のプロパティで「m/d/y h:i:a」となっていたのを「y/d」にしました。

よろしくお願いします。
 

Re: Re: ページタイプ-出力の編集でエラー

2015年7月10日 at 10:45
失礼しました。

デフォルト編集中のことだったのですね。
デフォルトを編集した後でページを作成されたのかと取り違えてしまいました。

デフォルトなのですが、残念ながらデフォルトにはバージョン管理がありません。(編集中に、たしかそういう注意喚起プロンプトが出てたと思います。5.6の話ですが…)
 

Re: Re: Re: ページタイプ-出力の編集でエラー

2015年7月10日 at 11:24
編集画面からでは該当ブロック(含まれたエリアごとでも)の削除ができないのですが、直接どこかから削除することはできないでしょうか?
「ポートフォリオプロジェクト」ごと削除するしかないのでしょうか?
 

Re: ページタイプ-出力の編集でエラー

2015年7月10日 at 11:43
c5.7.4.2のElemental+サンプルコンテンツで、お示しのデフォルトを編集してみました。
ページ属性表示ブロックを追加し、ページ作成日時をy/dで表示させましたが、問題なく表示されました。
他にも色々なアルファベットを入れてみましたが、PHPのdate記法通りの挙動です。

とはいえ、確かに不意の、ユーザーが認識していないミスやトラブルでそういったエラーになることもあります。
お考えの通り、当該ブロックを削除できれば、エラーは排除できそうです。

で、ブロックの削除ですが、原則として編集モードからの削除となります。
それ以外の手段では、データベースを直接触って削除することになりますが、誤って必要なデータを削除してしまうことも考えられるため、おすすめできません。

私は使用したことがないのですが、BlockFinderという、トラブルの元となっているブロックを探すアドオンがあります。
このアドオンで削除まで出来るのかどうかはわかりませんが、どこにいるのか探すことはできそうです。

◆エラーについて
concrete5.7は、デフォルトでエラーを必要最小限だけ表示するようになっています。
管理画面→サーバー設定一覧→デバック設定 で、より詳しくエラーを出す設定もできますので、そこも確認してください。

◆エリアごと削除について
エリアとブロックは別々にデータを持っていますので、エリアを削除したとしても、ブロックは削除されません。
ただ、それでエラーを回避することは出来るかもしれませんが、今後同名のエリア名を使用することが出来なくなるのと、Elementalをベースにしていく場合、デフォルト・コンポーザーの設定がエリア名と深く結びついているので、エリア名を変更することはあまり得策ではないかもしれません…
 

Re: ページタイプ-出力の編集でエラー

2015年7月10日 at 11:51
すみません、BlockFinderですが、検証したところ、デフォルトの中は検索できないようでした。
 

Re: ページタイプ-出力の編集でエラー

2015年7月10日 at 12:26
検証ありがとうございます!
y/dで問題ないのですね。

◆エラーについて
>>デバッグ設定
やってみました。
かなりエラーがてんこもりで、チェックしようと思えませんでした(^_^;
(後述しますが、解決してしまったので提示できないです)

◆エリアごと削除について
なるほど、了解です。
いちど、「左サイドバー」の設定をなくして、再度追加してみても標準に戻っていなかったので、データベース側ではずっと情報もっていてさわるとまずいんだろうな・・・とは感じてました。

☆(とりあえず&たぶん)解決
もしかして・・・と思って、「ページとテーマ-属性」に追加した日時の属性を削除してみました。
すると、エラーが無くなりました。(ブロックを削除できました)

データベースにゴミとして残り続けて同じ名称つかって復活したりしないかな・・・と心配していますが、とりあえず解決しました。

お手数おかけしました!ありがとうございます。
参考までに、エラーが出ていたときのスクリーンショットを添付します。(デバッグ詳細の表示していない状態です。)