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

logical_jp_baserでのcolorbox表示

shinoboon > logical_jp_baserでのcolorbox表示 @ 2014/10/21 16:03
お世話になります。
こちらのスレッドを参考にして、固定ページにてcolorboxを実現しようとしたのですが、indexページにしか適用されず、他に追加した固定ページではcolorboxがうまく動作いたしません。
テーマは、logical_jp_baser(バージョン:3.0.0)です。
変更したファイルは、/app/webroot/theme/logical_jp_baser/Layouts/default.php
です。
もしかしたら、indexページ以外のdefault.phpが存在するのでしょうか。

http://forum.basercms.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=1343&forum=5&post_id=5135#5135

よろしくお願いします。

■ BaserCMSのバージョン:3.0.5.1
■ レンタルサーバー名:lolipop
■ スマートURLの利用: [OFF]
■ 設置フォルダ: [サブフォルダ]
■ 利用しているデータベース: [ MySQL ]
■ PHPスキル(A

n1215 > Re: logical_jp_baserでのcolorbox表示 @ 2014/10/21 22:43
shinoboon 様

logical_jp_baserのテーマを確認しました。

このテーマにおいてはデフォルトのレイアウトテンプレート(app/webroot/theme/logical_jp_baser/Layouts/default.php)
から読み込まれているmeta.phpというエレメントテンプレート(app/webroot/theme/logical_jp_baser/Elements/meta.php)にて
CSSやJSファイルの読込が設定されています。

せっかく綺麗に分かれているので、
他のテーマの情報と同じようにLayouts/default.phpに記述するのではなくこのファイル内でCSSとJSの設定を完結させることをおすすめします。

さて、ファイルを見てみると、80〜97行目において、もともとjQuery.colorboxがトップページ以外のページに設定されているように見えます。
<?php if(!$this->BcBaser->isHome()): ?>
<?php
	$this->BcBaser->css(array('admin/colorbox/colorbox'), array('inline' => true));
	$this->BcBaser->js('admin/jquery.colorbox-min-1.4.5', false);
?>
<script type="text/javascript">
(function($){
$(function(){
	//common.js: モバイル端末であれば起動しない
	if(WSbrowser != 'sp'){
		if($("#main a[rel='colorbox']").colorbox){
			$("#main a[rel='colorbox']").colorbox({transition:"fade"});
		}
	}
});
})(jQuery);
</script>
<?php endif ?>


colorboxをトップページにも適用させるにはこの部分を囲むif文を外せばOKです。

<?php if(!$this->BcBaser->isHome()): ?>


と下記の行を削除します。

<?php endif ?>




おそらくcolorboxを試された際に、トップページ以外で上手く行かなかったのはdafault.phpとmeta.phpでcolorboxが二重に設定されていたせいではないかと思います。

Twitter: @n_1215

shinoboon > Re: logical_jp_baserでのcolorbox表示 @ 2014/10/22 0:32
n1215 さま

お世話になります。
お忙しい中ご回答ありがとうございます。

的確なご指摘ありがとうございます。

default.phpを元にもどし、meta.phpをご指示の通りにやったのですがうまく行っておりません。
私の方でどこかで間違っているかもしれませんので「確認中」とさせていただきます。
追って、経過を書かせていただきます。

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

■ BaserCMSのバージョン:3.0.5.1
■ レンタルサーバー名:lolipop
■ スマートURLの利用: [OFF]
■ 設置フォルダ: [サブフォルダ]
■ 利用しているデータベース: [ MySQL ]
■ PHPスキル(A

nagachan > Re: logical_jp_baserでのcolorbox表示 @ 2015/1/11 18:07
shinoboonさん、こんにちは。

すでに解決済みかもしれませんが、今回私もハマったので投稿しておきます(^_^)

meta.phpで、

<script type="text/javascript">
(function($){
$(function(){
	//common.js: モバイル端末であれば起動しない
	if(WSbrowser != 'sp'){
		if($("#main a[rel='colorbox']").colorbox){
			$("#main a[rel='colorbox']").colorbox({transition:"fade"});
		}
	}
});
})(jQuery);
</script>

ここの部分
	if(WSbrowser != 'sp'){

の変数名の表記が違っていました。
common.jsでこの変数に値をセットしていますが、ここでは変数名が「wsBrowser」となっています。
「WSbrowser」を「wsBrowser」(大文字小文字の違い)にすれば動作するようになりました。

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


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

検索

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

フォーラムガイド


関連リンク

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

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