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

nada-icons フッターメニューにリンクを追加したい

tomorrow > nada-icons フッターメニューにリンクを追加したい @ 2014/3/23 22:46
お世話になります。

メインメニューとフッターメニューはリンクも含めて連動しているようですが、
フッターメニューのみに、メニュー(リンクも含めて)を追加することは可能
でしょうか?

例えばメニュー「サイトマップ」の扱いをメインメニューに配置するほどでは
ないので、フッターメニューのみに表示させたい。などと言う場合です。

素人判断で、該当してそうな Elements/footer.php も見てみたのですが、
メインメニューに記載されている項目と同じ並びに表示させるためには、
global_menu と言うファイルから読み込んでいるように見えるのですが、
その global_menu も見つけられません。

よろしくお願い致します。

いつも質問ばかりで、少しでも回答する側になってみたいです。

■ BaserCMSのバージョン: 3.0.1
■ レンタルサーバー名: Lolipop
■ スマートURLの利用: 不明
■ 設置フォルダ: サブフォルダ
■ 利用しているデータベース: MySQL
■ PHPスキル(自己評価): E

■ レンタルサーバー名: ロリポップ ライト
■ basercmsのバージョン: 4.1.6
■ スマートURLの利用: 不明
■ 設置フォルダ: サブディレクトリー
■ 利用しているデータベース: M

tecking > Re: nada-icons フッターメニューにリンクを追加したい @ 2014/3/23 23:39
tomorrowさん


直接の回答になってないかもしれませんが……

引用:
該当してそうな Elements/footer.php も見てみたのですが、
メインメニューに記載されている項目と同じ並びに表示させるためには、
global_menu と言うファイルから読み込んでいるように見えるのですが、
その global_menu も見つけられません。

テーマ側で見あたらないときは、/lib/Baser/View の中を見てみるとよいですよ。

『nada icons』は Elements ディレクトリ内に global_menu.php をもっていないのですが
その場合は /lib/Baser/View/Elements/global_menu.php を参照するようになっています。
(これは『nada icons』に限らず、ほかのテーマでも同じです)

/app/webroot/theme/nada-icons/Elements/global_menu.php があれば
その内容が優先して読み込まれるので、グローバルメニューをカスタマイズするなら
/lib/Baser/View/Elements/global_menu.php をテーマ側にコピーして
手を加えていくと比較的手早くできるのではないかとおもいます。
tomorrow > Re: nada-icons フッターメニューにリンクを追加したい @ 2014/3/28 14:20
tecking 様

せっかくご回答いただけたのに、返信が遅くて申し訳ありません。

いろいろ試してみたのですが、やはりメインメニューもフッターメニューも共通の
global_menu.php を読み込んでいるらしいことから、メニューの表示項目は
常に同じになるようで、元々の nada-icons の設計では、別々の表示は無理
みたいですね。

なので、php は詳しくないので具体的なやり方はわかりませんが、考え方として
メインメニュー用の menu.php と、フッターメニュー用の menu.php を別々に
配置して、それぞれを読み込ませる方法しかないのか?と思いました。

しばらく考えてみます。
どなたか php に詳しい方がいらっしゃいましたら、助言をいただけると幸いです。


■ レンタルサーバー名: ロリポップ ライト
■ basercmsのバージョン: 4.1.6
■ スマートURLの利用: 不明
■ 設置フォルダ: サブディレクトリー
■ 利用しているデータベース: M

tecking > Re: nada-icons フッターメニューにリンクを追加したい @ 2014/3/28 19:19
なるほど、サイドバーとフッターとで、表示するメニュー項目を切り替えたいということですね。
管理画面での「メニュー管理」は、サイドバーとフッターで別個にもたせることができないので、以下のような方法はどうでしょうか。

「サイトマップ」というリンクを、フッターにだけ表示するコード例です。

1.
/lib/Baser/View/Elements/global_menu.php を /app/webroot/theme/nada-icons/Elements 内にコピー
2.
/app/webroot/theme/nada-icons/Elements/sidebox.php の10行目あたりを下のように編集

<?php $this->BcBaser->element('global_menu', array('sideBox' => true)) ?>

3.
/app/webroot/theme/nada-icons/Elements/global_menu.php の34〜35行目あたりを下のように編集
<?php foreach ($globalMenus as $key => $globalMenu): ?>
	<?php if ($globalMenu['Menu']['name'] === 'サイトマップ' && !empty($sideBox)) continue ?>
	<?php if ($globalMenu['Menu']['status']): ?>


コードの流れとしては下記のようになります。

1.
サイドバーのエレメント(sidebox.php)から、メニューのエレメント(global_menu.php)を呼び出す
2.
global_menu.php を呼ぶ際、変数 $sideBox に true をセットする
3.
global_menu.php 内でメニューリンクを生成する際、呼び出し元が sidebox.php かつ 生成しようとしているリンクが「サイトマップ」なら、リンクを作らず次の処理に移る

ほかにも実装の方法はあるかとおもいますので、一案として、ご参考にどうぞ。
tomorrow > Re: nada-icons フッターメニューにリンクを追加したい @ 2014/4/1 0:29
tecking 様

ありがとうございます。
目的の動作がバッチリできました。

パソコンのOSをLinux(Ubuntu)にして、慣れないアプリ(GIMP)で、掲載
したいイメージファイルを作っているうちに、ページレイアウト構成の
方がおろそかになってしまい、返信が遅れました。

今回の投稿ですが、メインメニューとフッターメニューでフッターメニュー
の方がメニュー数が多い(詳細)と言うパターンは、結構見かけます。

自分ができないのを棚に上げて、こんな提案は大変失礼かもしれませんが、
できれば、nada-icons自体の次回のバージョンアップにでも、管理画面から
各メニューを独立して設定できるようにしていただくと、もっと魅力的に
なるのではないでしょうか?

やっているうちに、まだまだたくさんわからないことが出てきました。

phpも少しは覚えなくては。。。です。

また整理して、質問させていただきます。

■ レンタルサーバー名: ロリポップ ライト
■ basercmsのバージョン: 4.1.6
■ スマートURLの利用: 不明
■ 設置フォルダ: サブディレクトリー
■ 利用しているデータベース: M

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


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

検索

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

フォーラムガイド


関連リンク

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

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