Re: ページリスト絞り込み

2012年6月29日 at 3:54

はい、ページリストのカスタムテンプレートで、class名を振り分けて違った表示をさせてます。
上記方法で試したのですが、上手くいかないです;;

タグ:

Re: ページリスト絞り込み

2012年6月29日 at 7:38
<?php
defined('C5_EXECUTE') or die("Access Denied.");

$press_id = 137;
$event_id = 141;
$ir_id = 134;

$isFirst = true; //So first item in list can have a different css class (e.g. no top border)
$excerptBlocks = ($controller->truncateSummaries ? 1 : null); //1 is the number of blocks to include in the excerpt
$truncateChars = ($controller->truncateSummaries ? $controller->truncateChars : 0);
$i = 0;
foreach ($cArray as $cobj) {
if(!$cobj->getAttribute('page_list_disable')) {
$title = $cobj->getCollectionName();
$date = $cobj->getCollectionDatePublic('Y.m.d');
$link = $nh->getLinkToCollection($cobj);
$parent = $cobj->getCollectionParentID();
$firstClass = $isFirst ? 'first-entry' : '';

if ($i%2 == 0) {
echo '<div class="lateone">';
} else {
echo '<div class="lighten_bd"><div class="lighten">';
}

echo '<div class="date">' . $date . '</div>';

switch ($parent) {
case $press_id :
$class = 'add_press';
break;
case $event_id :
$class = 'add_exh';
break;
case $ir_id :
$class = 'add_ir';
break;
default :
$class = 'add_press';
break;
}

echo '<div class="' . $class . '">';

echo '<a href="/index.php/news">' . $title . '</a>';
echo '</div>';
echo '<div style="clear:both;"></div>';

if ($i%2 == 0) {
echo '</div>';
} else {
echo '</div></div>';
}

$isFirst = false;
$i++;
}
}

太字の部分が追加したものです。
 

Re: ページリスト絞り込み

2012年6月29日 at 11:17
ありがとうございます!上手くいきました。
 

Re: Re: ページリスト絞り込み

2012年6月29日 at 13:39
うまく行ったと思ったのですが、なぜかリストから排除した分だけリスト表示数を追加しないと表示されなくなってしまいました;
 

Re: ページリスト絞り込み

2012年6月29日 at 18:11
すみません。リスト表示数を追加とはどういう意味でしょうか?
表示されないというのは全て?一部?
できれば具体的に書いていただけると助かります。

僕は標準のインストールしただけのものでテーマはグリークヨーグルトで上記のカスタムテンプレートを追加してテストしたのですが、意図したとおり表示されます。

それと気になったのですが、このソースでは、すべてnewsにリンクするように思います。

見当違いのことを言っていたらごめんなさい。
 

Re: Re: ページリスト絞り込み

2012年6月29日 at 18:47
説明が、曖昧ですみません、表示数を5にしているにもかかわらず、属性を当てたページを追加すると、表示数が1つ減ってしまうようなことになってます。今ハンドル名とカスタムテンプレートの名前が違ったりしていたので、他に変な間違いをしてないか調べてます。
 

Re: Re: Re: ページリスト絞り込み

2012年6月30日 at 12:34
いえ、5ページ分表示で4ページ分しか表示されないのはプログラムどおりです。間違いではありません。
もし、そのあたりの制御が必要なら、ページリストブロックのcontroller.php をカスタマイズする必要があります。
 

Re: Re: Re: Re: ページリスト絞り込み

2012年6月30日 at 21:41
ご返答ありがとうございます。
バグではないのですね; 結構高度なカスタマイズになるのでしょうか; ページリストは複数ページで利用しているので、他のページの影響が恐そうですね;
 

Re: ページリスト絞り込み

2012年6月30日 at 22:29
controller.phpを触るのは恐いので(phpの知識が乏しくデバック不可なので;)コンポーザーに特集ページのチェック項目を作って対応することにしました。
(別スレッドで、特集ページの機能を使うと保存し直さないと表示されないと嘆いていたのですが、その一覧ページはコンポーザー使って作成するようにしていたので、もしやと思いチェック項目をコンポーザーに設けたところ、問題なく反映されました。いろいろとありがとうございます。)