オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月3日 at 10:10

お世話になります。

作成中のサイトのトップページに、更新履歴(「公開日 ページタイトル を更新しました。」)を表示したいと思い、
ブロック修正の仕方とカスタムテンプレート の仕組み の「ページリストブロックに日付を加える」
を参考にカスタムテンプレートを作り、適用することができました。

ページリストで「すべての子ページを含む」にチェックを入れると
すべてのページが対象となるので、更新履歴に表示させたくないページは
「ページリストから除く」にチェックを入れればいいと思うのですが、
そうすると、他のページで別用途で使用しているページリストにも影響が出てしまいます。

第4階層のページ(A)に、その配下のページの更新履歴を表示するページリストを設置してあり、
そこではリストを表示したいのですが、トップページの更新履歴には表示したくないのです。

試行錯誤して思いついたのが、トップページの更新履歴はページリストを使い、
ページ(A)にはオートナビブロックを使うという案です。
オートナビブロックで「公開日 ページタイトル を更新しました。」とリスト表示できるように
カスタムテンプレートを作ればよいのではと考えたのですが・・・
PHP初心者のため、どこから手を付けてよいのかわかりません。
どうかオートナビブロックで公開日を表示できるカスタムテンプレートの作成方法を教えていただけないでしょうか。。。

それとももっとよい方法がありますか?

何卒よろしくお願いいたします。

タグ:

Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月3日 at 12:23
公開日を表示するカスタムテンプレートです。
http://gist.github.com/acliss19xx/6419134
119行目あたりのみ変更していますので参考にしてください。
 

Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月3日 at 14:35
ご回答いただきありがとうございます!

view.phpをコピーして119行目あたりを書き換えて適用してみたのですが、
. date('Y-m-d', $ni->cObj->getCollectionDatePublic())
の部分がすべて「1970-01-01」となってしまいました。


それと・・・今更で大変申し訳ないのですが、

更新履歴は最新10件の表示をしたいのですが
オートナビブロックは表示件数を指定することができないということに気づきました。
やはりページリストを使うべきなのでしょうか。

オートナビのパンくずリストのように、
「ページリストから除く」にチェックを入れてもリスト表示させる
ページリストのカスタムテンプレートは可能でしょうか?

よろしくお願いいたします。
 

Re: Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月3日 at 15:50
date('Y-m-d', strtotime($ni->cObj->getCollectionDatePublic()))

です。すみません。
 

Re: Re: Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月3日 at 16:34
acliss19xx様、ありがとうございます!
オートナビブロックで公開日が表示できました。


でも私の考え方が甘かったようで、更新履歴でオートナビは不向きですよね・・・。
別の方法を考えてみます。
 

Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月3日 at 17:31
サイトマップ キャプチャーできませんか?
 

Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月4日 at 10:25
サイトマップの画面キャプチャを添付しました。
(ページ名は隠してあるので見づらくてすみません。)

質問時に、

第4階層のページ(A)に、その配下のページの更新履歴を表示するページリストを設置してあり、
そこではリストを表示したいのですが、トップページの更新履歴には表示したくない

と書きましたが、ページ(A)は第3階層でした。


よろしくお願いいたします。
添付: .gif
 

Re: Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月4日 at 12:17
①今ある「ページA」 をページリストの外にだして、もとの場所に「ページA」のエイリアスを作成する。
ページリストブロックの「転載(エイリアス)ページを表示 」のチェックをはずす。
これでトップページには出てこなくなります。

問題はどうやってページリストの外に出すかですね。。。。
 

Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月4日 at 14:57
なるほど!
「転載(エイリアス)」ってそうやって使うんですね。

ホームの下に「ホーム'」を追加し、その下に今あるページをすべて移動させ、
「ページ(A)」だけ「ホーム'」と同階層に置くことにしました。
そこからページ(A)のエイリアスを作成すればいいんですよね!


ただ「ホーム'」を追加すると、パンくずリストで「表示するページ」を
「トップから」としても「特定のページ下」で「ホーム'」を選択しても
各ページのパンくずリストが

ホーム > ホーム' > ~~ > -- > ・・・・・

となってしまいます。


「第2階層から」にすると “ホーム > ホーム' > ”が取れて

~~ > -- > ・・・・・

となってしまいます。


ホーム' > ~~ > -- > ・・・・・

にすることはできるのでしょうか?


重ね重ね申し訳ありませんがよろしくお願いいたします。
 

Re: Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月4日 at 16:46
ホーム に 「ページリストから省く」属性をつけるとといけますが、可能ですか?
 

Re: Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月4日 at 17:51
すみません。さっきの投稿は間違いです。

ホームに「オートナビから省く」属性をつけるといけます。

でした。
 

Re: オートナビブロックで公開日を表示できるカスタムテンプレートを作成したい

2013年9月5日 at 10:20
できました!!!ありがとうございます。

ちなみに、カスタムテンプレートのBreadcrumbだと
「ホーム」に「オートナビから除く」のチェックをつけても表示されてしまっていたのですが、
breadcrumb.phpの2行目
$navItems = $controller->getNavItems(true);
のtrueを消して
$navItems = $controller->getNavItems();
にしてみたら、「ホーム'」からのパンくずリストが表示されるようになりました。

これで更新履歴の表示の件については私の理想の形になりました。
投稿のタイトルと内容がだいぶずれてしまい申し訳ありません。
でも本当に助かりました。

acliss19xx様、ありがとうございました。
今後ともよろしくお願いいたします。