ウィジットエリアのプルダウン表示方法
| Nori > ウィジットエリアのプルダウン表示方法 @ 2018/10/22 16:47 |
|---|
|
お世話になります。
bccolumnにてサイト制作中です。 サイドコラムのブログ用ウィジェットのアレンジをしたくアドバイス頂ければ幸いです。 現在、オリジナル機能の為、 カテゴリ別や月別のアーカイブがリスト形式になっております。 これを、リストではなく、 プルダウンに収納したく考えております。 BcFreeze/select これかと思い色々自力で挑戦したのですが、いまだうまくできておりません。 アドバイス頂ければ幸いです。 宜しくお願いいたします。 ■ BaserCMSのバージョン:4.1.3 |
| seto > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/23 10:32 |
|---|
|
プルダウンの表示のみでしたら、以下のコードです。
['a', 'b', 'c'] の部分に任意の配列を入力するといいです。 |
| Nori > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/23 19:47 |
|---|
|
seto 様
いくつもアドバイス頂きありがとうございます。 ご指摘いただいた内容を自分なりに考え、以下の手順でまずは上記そのままの内容でやってみましたがまだわからない事ばかりで。。。 1.上記の内容でblog-pulldown.phpを作成。作成した内容は以下の通り。 2.blog-pulldown.phpをElements/widgetsにアップロード 3.ウィジェットエリア編集からphpテンプレートを使用し、blog-pulldown.phpを有効化。 この手順で表示されたのは a、b、cの選択肢を含むプルダウンでした。 そこで質問です。 ?それぞれの選択肢を、ブログのカテゴリに変更する方法 (※システム上でカテゴリが追加された場合、自動でこちらにも追加したいです) ?それぞれの選択肢を選んだ際に、選んだカテゴリのアーカイブページにジャンプ 質問ばかりの素人で大変申し訳ございません… ■ BaserCMSのバージョン:4.1.3 |
| seto > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/24 12:42 |
|---|
|
ブログカテゴリのリストは、以下の関数で取得できます。
あとは、取得したカテゴリのデータを元にurlのリストを生成したあと、 選択した項目にページを移動する方法は、「セレクトエリア url 移動」等で検索すると参考になる情報が見つかると思いますので、お試しください。 |
| Nori > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/26 16:09 |
|---|
|
seto 様
アドバイス頂いた内容を自分なりに調べて、以下のようにphpを書いたのですが、 うまく表示されません… 参考にした情報は関数リファレンスです。 ver4/関数リファレンス/getCategoryList これだと肝心なGetCategoryListが入っていないのでダメなのでしょうが、 一番自分がやりたい形に近かったので… ちなみに生成されたhtmlは以下の通りです。 ※現在設定しているカテゴリは1つだけ(カテゴリ1)で、name、valueは既存の通りです。 セレクタエリアのURL設定以前の問題なので、 まずこの部分を質問させて頂きました。 ■ BaserCMSのバージョン:4.1.3 |
| seto > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/26 16:25 |
|---|
|
getCategoryList ではなく getCategories です。
しかし、wikiを見るとページが作成されていないですね.... こちらの関数のことです。 https://github.com/baserproject/basercms/blob/dev-4/lib/Baser/Plugin/Blog/View/Helper/BlogHelper.php#L1232 |
| Nori > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/26 18:29 |
|---|
|
ver4/関数リファレンス/getCategory
を確認し、以下のように書き換えてみましたが… これだとプルダウン自体は出るのですが、選択肢は何も出力されませんでした… ■ BaserCMSのバージョン:4.1.3 |
| seto > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/29 10:18 |
|---|
|
getCategory ではなく getCategories です。
こんな風に使います。 また、取得したカテゴリを$this->BcForm->selectにそのまま入れるだけだとダメです。 取得したカテゴリのデータを元にurlのリストを生成する必要があります。 |
| Nori > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/29 10:57 |
|---|
|
アドバイスを基に修正しましたが、
ご指摘の通り正常には作動しませんでした… 既に削除したはずのカテゴリ名が出てきていたり、nameやidもリストに出てきている次第です。 引用: 取得したカテゴリのデータを元にurlのリストを生成する必要があります。 こちらの部分でアドバイス頂ければ幸いです。 宜しくお願いいたします。 ■ BaserCMSのバージョン:4.1.3 |
| seto > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/29 12:58 |
|---|
|
こんな感じになりました。
$this->Blog->getCategories() だけだと、全てのブログのカテゴリを取得できてしまったので、blogContentIdでブログを指定しています。 |
| Nori > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/29 15:34 |
|---|
|
seto 様
ありがとうございます! おかげで表示させたいようにできました! ちなみにこれを月別アーカイブに対応させるにはどの部分を変更させればよいでしょうか? カテゴリ選択後の自動ジャンプはこれから改めて挑戦しますので、 またわからないことあればお力添え頂ければ幸いですm(_ _)m ■ BaserCMSのバージョン:4.1.3 |
| Nori > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/29 16:16 |
|---|
とすることで自動ジャンプ対応できました! 月間アーカイブの方も引き続き自分で考えてみますが、 もしアドバイス頂けるようでしたら宜しくお願いいたします。 あと、出来れば最初の状態で「カテゴリを選択」などのように文字列入れること出来ますでしょうか? ■ BaserCMSのバージョン:4.1.3 |
| seto > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/30 10:16 |
|---|
|
月間アーカイブは、こちらが参考になりそうですね。
/lib/Baser/Plugin/Blog/View/Elements/widgets/blog_monthly_archives.php セレクトエリアの初期値を設定したい場合は、BcForm->selectのオプションで empty を指定してください。 |
| Nori > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/30 15:52 |
|---|
|
おかげさまで、セレクタエリアの初期値設定は問題なく対応できました!
しかし、月間アーカイブの方がどこをどう参考にして、 今回お力添え頂いたカテゴリのプルダウンの奴に反映させればいいか全然わかりません。 宜しくお願いいたします。 ■ BaserCMSのバージョン:4.1.3 |
| seto > Re: ウィジットエリアのプルダウン表示方法 @ 2018/10/31 12:29 |
|---|
|
blog_monthly_archives.php の中の $postedDates を見ると、ブログ記事の月ごとのリストが入っているので、この配列を元にURLを作成できそうです。
考え方としては、まずcakePHPでは p という関数を使うことで配列の中身を見ることが出来ます。 一度、postedDatesの構造を見てみて、どのようにURLのリストを作ればいいか考えてみてください。 以前私が投稿したカテゴリのURLリストの取得方法や、blog_monthly_archives.phpが参考になると思います。 |


