関数「getPageList」と、pagesテーブルについて
- » well > 関数「getPageList」と、pagesテーブルについて @ 2015/1/2 3:24
- n1215 > Re: 関数「getPageList」と、pagesテーブルについて @ 2015/1/2 14:48
- well > Re: 関数「getPageList」と、pagesテーブルについて @ 2015/1/3 6:04
- n1215 > Re: 関数「getPageList」と、pagesテーブルについて @ 2015/1/3 9:18
- well > Re: 関数「getPageList」と、pagesテーブルについて @ 2015/1/3 20:43
- n1215 > Re: 関数「getPageList」と、pagesテーブルについて @ 2015/1/4 19:42
- well > Re: 関数「getPageList」と、pagesテーブルについて @ 2015/1/8 0:19
- n1215 > Re: 関数「getPageList」と、pagesテーブルについて @ 2015/1/8 14:55
well > 関数「getPageList」と、pagesテーブルについて @ 2015/1/2 3:24 |
---|
baserCMS関係者の皆様、
2015年 新年あけましておめでとうございます。 本年も益々のご繁栄がありますよう心よりお祈り申し上げます。 久しぶりに、baserCMSで開発途中だったものをいじり出したのですが、 関数とデータベースデータの扱いで、アレっと思うことがありましたので、お話しさせていただきます。 関数名は「getPageList」です。 以前にもウィジェットのPHPテンプレートでテスト導入してみましたが、、 今回は、カテゴリの固定ページの階層はとりあえず2層まで作り、 その下層側の固定ページに、新設の商品テーブルのデータを動的に出力する為に、 ソースをいじり出しました。 簡単な例で説明しますと、 まず、pagesテーブルを確認後、 関数「getPageList」に1か所パラメータ'page_category_id'を追加しました。 app/View/Helper/BcBaserHelper.php
そして、カテゴリリストのリンク先URLを次のように設定しました。 app/webroot/theme/kaizo/Elements/widgets/categoryList.php
デバッグコードで出力させてみると、$page['page_category_id']が、意図したidではなく、 どうやらparent_idになっているようでした。 pagesテーブルを確認するとカラム'page_category_id'にはすべて_page_categoriesテーブルのparent_idの値が入っていました。 関数「getPageList」の目的は、配下に属する子カテゴリのリスト化だと思いますので、ソースを見てそれは達成されいるとわかりましたが、 pagesテーブル内のpage_categoriesテーブルへの外部キーが、表記では'page_category_id'となっていますが、実際は'page_category_parent_id'ですので、矛盾が生じ、拡張性に問題が生じるようです。 ソースの変更、さらにテーブルの設計にも影響する事ですので、改善要望として挙げさせていただきました。 どうぞよろしくお願いいたします。 ■ BaserCMS:3.0.6.1 |