■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Re: 特定の親カテゴリーIDに属する子カテゴリーのリストで、[カテゴリ検索]は出来ないでしょうか?

n1215 > Re: 特定の親カテゴリーIDに属する子カテゴリーのリストで、[カテゴリ検索]は出来ないでしょうか? @ 2014/5/2 14:57
well 様

ブログのコードを載せましたが、固定ページのほうだったんですね。
いろいろ勘違いしていてすみません。

下記のようにしておけば、特にアンダースコアで判別せずとも問題ないかと思います。

<?php

//ウィジェットの管轄するカテゴリ一覧
$catNames = array('news', 'sports', 'economy', 'show_biz');

//固定ページかどうか判別
if($this->BcBaser->isPage()) {

	//現在のページが属するカテゴリの先祖カテゴリの最上位を取得(カテゴリに属していなければfalse)
	$rootCategory = $this->BcPage->getParentCategory(true);
	//var_dump($rootCategory);

	if($rootCategory && in_array($rootCategory['PageCategory']['name'], $catNames)) {
	//最上位カテゴリが存在し、かつ名前が$catNamesの値に含まれる場合はそのカテゴリのページ一覧を取得
		$pages = $this->BcBaser->getPageList($rootCategory['PageCategory']['id']);

	} else {
	//それ以外の場合は$catNamesで指定した各カテゴリのトップページを取得

		//検索条件
		$conditions = array(
			'Page.name' => 'index',
			'PageCategory.name' => $catNames
		);

		//取得フィールド
		$fields = array('url', 'title');

		//並び順
		$order = array('Page.id'=> 'asc');

		
		$pages = $this->BcPage->Page->find('all', array('conditions' => $conditions, 'fields' => $fields, 'order' => $order));

		//BcBaserヘルパーのgetPageListメソッドの戻り値と形式を統一
		$pages = Set::extract('/Page/.', $pages);
		
		//var_dump($pages);
	}

}
?>

<?php if(isset($pages)): ?>
<?php foreach($pages as $page) :?>
<li><a href="<?php $this->BcBaser->url($page['url']) ?>"><?php echo $page['title']?></a></li>
<?php endforeach ?>
<?php endif ?>

Twitter: @n_1215

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
10 人のユーザが現在オンラインです。 (9 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 10