Re: Re: ページリスト絞り込み
僕が作成するならという前提で
管理画面のページとテーマのメニューの属性を開き、属性を追加で真偽値を選択し、新規作成を押します。
「ハンドル」に適当な名前をアルファベットでつけます。今回は「page_list_disable」 とします。
「名前」に適当な名前をつけます。今回は「一部のページリストで表示しない」とします。
設定は僕もよく分かってないのですが、このまま空白で新規ボタンを押す。
これで属性の完成
省きたいページに行き
編集->設定からカスタム属性を追加で先ほど作成した「一部のページリストで表示しない」を選択し、チェックを入れる
次にページリストのカスタムテンプレートですがルートのblocks に page_list/templates フォルダを作成し、concrete/block/page_list/view.php をコピーして page_list_disable.php に 変更します。
page_list_disable.php を 編集し
55行目あたりを
<?php if(!$page->getAttribute('page_list_disable')) { ?>
<h3 class="ccm-page-list-title">
<a href="<?php echo $url ?>" target="<?php echo $target ?>"><?php echo $title ?></a>
</h3>
<div class="ccm-page-list-description">
<?php echo $description ?>
</div>
<?php } ?>
に変更します。(太字部分を追加)
あとはページリストを作成して、Page List Disable を 適用すればいけるはずです。
Re: Re:Re:Re:ページリストの絞り込み
そのカスタムテンプレート見せていただけるなら確認してみますが、どうでしょうか?
Re: Re: Re:Re:Re:ページリストの絞り込み
<?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) {
$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: ページリスト絞り込み
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++;
}
}
太字の部分が追加したものです。
d1027
Re:Re:Re:ページリストの絞り込み
出力するページリストをif文で条件分岐させているからだと思うのですが…。