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

テーマ「シンプルレストラン」のRESTAURANT NEWSやウェジェットを他のページにも表示させたい

xiuming > テーマ「シンプルレストラン」のRESTAURANT NEWSやウェジェットを他のページにも表示させたい @ 2012/6/15 19:32
スマートURL: OFF
設置フォルダ: /home/sites/heteml/users50/c/-/p/******/web/*****t/basercms/
セーフモード:Off
データベース: MySQL
baserCMSバージョン: 2.0.0
CakePHPバージョン: 1.2.10

テーマ「シンプルレストラン」をダウンロードして、これをもとに色々構築を試みております。

ウェジェット機能があり、facebookやtwitter、リンク項目がありますが、
シンプルレストランのTOPにはウェジェットが表示されておりますが、会社案内やお問い合わせのページの右側にも
RESTAURANT NEWSやウェジェットを表示させたいと思います。
グローバルメニューバーやヘッダー、フッターが常にどのページにも表示されているから理論上はできるかと
思いますが、現段階でcssのみでしか他のページを編集出来ておりません。
他のページに
<!-- begin ThreeColumn -->
<div id="ThreeColumn">
<div id="News1" class="side-box">
<h2><?php $bcBaser->img('head_top_restaurant_news.gif', array('alt'=>'RESTAURANT NEWS')) ?></h2>
<?php $bcBaser->blogPosts('news', 5) ?>
<div class="more">
<?php $bcBaser->link($bcBaser->getImg('btn_more.gif', array('alt'=>'詳細を見る', 'class'=>'btn')), '/news/index') ?>
</div>
</div>
<?php $bcBaser->element('widget_area',array('no'=>$widgetArea)) ?>
</div>
<!-- end ThreeColumn -->

を単純に張り付ければよいのかなと
思ってしまうのですが、どうもそうではなさそうで、
そこから行き詰っております。

フォーラムを読んでもそれらしき箇所がないので、
どなたかご教示いただければ幸いです。
arata > Re: テーマ「シンプルレストラン」のRESTAURANT NEWSやウェジェットを他のページにも表示させたい @ 2012/6/16 0:27
xiumingさん、こんにちは!
以下の手順でやってみてくださいね。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ ウィジェット管理 -> 「標準サイドバー」を開く
■ 「PHPテンプレート」ウィジェットを右側の利用中ウィジェットの方にドラッグ&ドロップしますん
■ 「PHPテンプレート名」の欄に news と入力してください
■ 「利用する」にチェックを入れて保存します

次はファイルを作成します。
■ 先のウィジェットに書かれてたように、以下のパスにPHPファイルを作って置きます。
 /app/webroot/themed/simplerest/elements/widgets/news.php
中身は以下。
<div id="News1" class="side-box">
	<h2><?php $bcBaser->img('head_top_restaurant_news.gif', array('alt'=>'RESTAURANT NEWS')) ?></h2>
	<?php $bcBaser->blogPosts('news', 5) ?>
	<div class="more">
		<?php $bcBaser->link($bcBaser->getImg('btn_more.gif', array('alt'=>'詳細を見る', 'class'=>'btn')), '/news/index') ?>
	</div>
</div>

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
以上で終了でございます!

ちょっとやってみてくださいね丶(・ω・)ノ

■ 不明点解消できるかも。逆引きガイドもあります baserCMS公式wiki
■ Twitter:@arata

goichi > Re: テーマ「シンプルレストラン」のRESTAURANT NEWSやウェジェットを他のページにも表示させたい @ 2012/6/16 0:32
こんにちは(^^

引用:
を単純に張り付ければよいのかなと
思ってしまうのですが、どうもそうではなさそうで、
そこから行き詰っております。

ウィジェトや新着情報(ブログ)の記事リストの表示は、
おっしゃる通り、どこのページからでも呼び出せると思います。
試しにページ編集の編集エディタ部分で(ソースモードにして)、
呼び出したい箇所に下記のヘルパーを記述してみてください。
(もし呼び出せないとすると、どこかに問題があると思います。
管理画面のシステム管理で、開発モードをデバッグモードにしてみると、
何かエラー表示などが出てくるかもしれません。)

■ブログ(例:'news'という名前のブログを5件取得する)
<?php $bcBaser->blogPosts('news', 5) ?>


■ウィジェット(ウィジェットNO.1を表示する)
<?php $bcBaser->element('widget_area',array('no'=>1)) ?>


ブログ名やウィジェットのNo.を書き換えれば、該当するデータが表示されると思います。
ヘルパーの詳細はリファレンスで確認してみてください。

引用:
グローバルメニューバーやヘッダー、フッターが常にどのページにも表示〜〜

グローバルメニューやヘッダー、フッターなどと同じように共通して利用するのであれば、
レイアウトファイルに記述するといいかも知れません。
(場所は「/app/webroot/themed/(テーマ名)/layouts/default.php」です)

ちなみに、というか蛇足ですが
レイアウトやテーマについての基本的な考え方は、
手前味噌で恐縮なのですが、この間、ちょうど自分のブログに書いたところですので、
もし良かったら眺めてみてください(><)
テーマの基本
xiuming > Re: テーマ「シンプルレストラン」のRESTAURANT NEWSやウェジェットを他のページにも表示させたい @ 2012/6/18 15:51
>goichiさん、>arataさん こんにちは

アドバイス頂きありがとうございました。

<!--begin ThreeCulumn -->〜<!--end ThreeCulumn -->
の間を切り取り、elemetsフォルダの中にright.phpと名前を付けて保存し、
default.phpには
<?php $bcBaser->element('right') ?>
と記述しました。

それでもTOPページしか表示されませんでした。
色々試行錯誤して、どうも
<?php if($bcBaser->isTop()): ?>
<?php endif ?>
があやしいと思い、削除したところ、
全てのページにウェジェットが表示されるようになりました。

となると疑問がでてきますが、
<?php if($bcBaser->isTop()): ?>〜<?php endif ?>は
この間に入るものをTOPページにのみ表示させるという記述なのでしょうか?

また、やり方によってはこのページは、Aのウェジェットを、
違うページにはBのウェジェットをといった具合に指定が出来るのでしょうか?
goichi > Re: テーマ「シンプルレストラン」のRESTAURANT NEWSやウェジェットを他のページにも表示させたい @ 2012/6/18 18:27
引用:
この間に入るものをTOPページにのみ表示させるという記述なのでしょうか?

ですね、リファレンスのisTop()にある通りです。(^^

引用:
また、やり方によってはこのページは、Aのウェジェットを、
違うページにはBのウェジェットをといった具合に指定が出来るのでしょうか?

isTop()で判定するなら、「トップページ」「トップページ以外」という判定のみですが、特定のページという事であれば「$baser->getContentsTitle()」なんていうのも使えそうですね。
この辺りのことは、リファレンスを参考に、ご自身が作りたいものに適した方法を探すしかないかも知れません。。。
xiuming > Re: テーマ「シンプルレストラン」のRESTAURANT NEWSやウェジェットを他のページにも表示させたい @ 2012/6/19 9:41
>goichiさん 情報ありがとうございました。

ウェジェットと他のページにも表示させる問題は解決しましたが、
isTop()の質問はスレッド違いになってしまいますので打ちきります。

ありがとうございました。

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


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

検索

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

フォーラムガイド


関連リンク

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

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