「次へ」「前へ」ナビにあるページを表示しないようにするには

2012年8月25日 at 21:09

あるページを「・・・から除く」に全てを設定しているのですが、「次へ」「前へ」ナビに表示されてしまいます。表示しないようにする方法があるのでしょうか。

タグ:

Re: 「次へ」「前へ」ナビにあるページを表示しないようにするには

2012年8月26日 at 4:13
かなりやっつけで申し訳ないのですが以下の方法はいかがでしょう?
※『「次へ」「前へ」ナビ』で、『システムページを除く』《はい》にチェックが入っている前提で提案しています。

まず最初に
/concrete/blocks/next_previous/controller.php


/blocks/next_previous/controller.php

としてコピーします(フォルダが無い場合は作成してください)。

次にコピーしたファイルの最下部にある下記部分(106行目あたり)に1行追記します。
protected function excludeSystemPages($pageList){
$pageList->filter(false, "(p1.cIsSystemPage = 0 or p2.cIsSystemPage = 0)");
$pageList->filter(false, "(ak_exclude_page_list = 0 or ak_exclude_page_list is null)"); /* 追記 */
}

※コメントは省いてかまいません。

お試しください。
 

Re: 「次へ」「前へ」ナビにあるページを表示しないようにするには

2012年8月26日 at 20:32
ありがとうございます。
試してみます。
 

Re: 「次へ」「前へ」ナビにあるページを表示しないようにするには

2012年8月27日 at 12:44
試してみました。
確かに「・・・から除く」にチェックをしたページは
表示しなしなりました。ただ、ナビ項目が「次へ・前へ」とも左に表示されます。
添付: capture.gif
 

Re: Re: 「次へ」「前へ」ナビにあるページを表示しないようにするには

2012年8月27日 at 18:12
/concrete/blocks/next_previous/view.css に書いてある内容を、今使っているテーマのmain.cssに追記するか、
上記ファイルを /blocks/next_previous/ にコピーすればOKです。
お試しください。
 

Re: Re: Re: 「次へ」「前へ」ナビにあるページを表示しないようにするには

2012年8月27日 at 18:31
正常に表示しました。
ありがとうございました。
 

Re: 「次へ」「前へ」ナビにあるページを表示しないようにするには

2012年8月27日 at 15:17
たしか、次へ前へナビはシステムページを除いても、フルサイトマップなどで外のサイトを追加したりしていると、システムページをキャンセルして強制的にそこに移動してた様な記憶があります。
なので自分は、「次へ」でそれが起きてしまうページのこのブロックには、次へのコードを削除したカスタムテンプレートをあてて使っていました。
やり方ですが、/concrete/blocks/next_previous/view.phpをユーザー領域の/blocks/next_previous/templates/の中に名前を変えてコピーします。
コードをみると、previous用のコード・parent用のコード・next用のコードが、それぞれ綺麗にまとまって3つの山になってると思います。
そこから必要なコードの山のみ残します。
原始的ですがわりと確実です。

表示周りでこまった時は該当するブロックのview.phpを開いてみると良いと思います。
わりとHTMLの範囲の知識であたりがつく事もありますので(もしかすると危ないのでテスト環境で...)。
 

Re: 「次へ」「前へ」ナビにあるページを表示しないようにするには

2012年8月27日 at 18:31
ありがとうございます。
色々試してみます。