ラベル jQuery の投稿を表示しています。 すべての投稿を表示
ラベル jQuery の投稿を表示しています。 すべての投稿を表示

2010年10月31日日曜日

concrete5であるページにだけheader.php内にてコードを適用させたメモ

concrete5であるページ(例:home)だけheader.php内で、jQueryを適用したい場合などは、以下のようなコードが有効でした。

<?php $c = Page::getCurrentPage();  $currentcID=$c->getCollectionID();if($currentcID==1){ ?>
 <script type="text/javascript">
  $(function(){
   $('#test').css({opacity:0,left:200});
  });
 </script>
 <?php } ?> 

Page::getCurrentPage()でページオブジェクトを取得し、->getCollectionID()でページのcIDを取得。
そして、上記の例ではcID==1すなわち、homeのページに対してjQueryコードを適用する、ということをしています。

備忘録とご参考まで。

2010年10月18日月曜日

droppyとIE6とz-indexと。

jQueryのプラグイン、droppyを使っていて、IE6でおかしなことになっていることに気づきました。

表示順がおかしくなっている。。。

色々調べて、z-indexとposition:relative;の関係だと判明。
http://learnaboutcss.blogspot.com/2010/10/ie6z-index.html

無事、IE6でも表示できるようになりました。
(droppyでliが上下二段になると、どうしようもないかも。。orz IE6アップグレードを進めていくしかないですね。。。)

2010年10月9日土曜日

Droppyについて。

http://onehackoranother.com/projects/jquery/droppy/

droppyというjQueryのライブラリで、ドロップダウンメニューを使っている。
http://web-do.com/
これは、とても便利。

元々、concrete5はjQueryを根幹で使っているので、
わざわざjQueryを読み込まなくても$(function(){$("#test").css("background",""#fff")});などとしてしまえばすぐ使える。

 なのでjQueryのライブラリはとても使いやすい。
(あまり使うと、処理が重くなるのはもちろんだが)

オートナビに、「カスタムテンプレート」でdroppyのjs、およびcssを読み込ませてやるとOK.
カスタムテンプレートの使い方は、以下に。

http://concrete5-japan.org/help/new_help_pages/block_custom_template/

カスタムテンプレートは、concrete5でとても便利な機能だ。
ありがたい。

2010年9月14日火曜日

UI Tabにフィード

concrete5で、jQueryのTabsをつかって、複数RSSフィードを実装しようと思い、試行錯誤したのでメモです。

普通のRSSブロックをTabsの各コンテンツ(divタグ内)にしようと思うも、自動でid,classがふられたdivが生成されてうまくいかず、まず悩みました。
そこで、HTMLブロックを使ってdivでくくってやろうとしますが、RSSフィードをうまくラップできません。
(RSSフィードブロックの上下を<div id="tabs-1">と</div>でくくってやろうとしても、勝手に閉じられてしまいます。。。 )

最後の手段として、無料のPHPブロックを導入し、そいつで無理矢理HTMLをechoで吐き出させ、
Google AJAX feed APIをつかってFeedさせたら無事表示^^
良かったっす。
(普通にフィードさせるなら、Google API+HTMLブロックで十分ですね。自分のケースでは、他にもPHPで読み込ませるものがあったので、PHPブロックが必要でした。)

あ、jQueryのUIは、基本がすでにconcrete5の中に組み込まれているので(要バージョンチェック)、
コンフリクトしないtabsのソースとcss,imagesをひっぱってきて、
それぞれ、トップディレクトリ配下のCSSとJSディレクトリ内に配置し、
「追加ヘッダー要素」でインクルードさせました。該当ページの。

この「追加ヘッダー要素」がかなり使えるしろものですが、
concrete5の編集時に現れる上のバーの「設定」の「カスタム属性」の中で「追加ヘッダー要素」を選ぶと、書き込み欄が出るので、
そこに普通のHTMLやPHPファイルに書くように、jsファイルのインクルードや、スクリプト書きができます。

あ~それにしても、Tabs+RSS Feedが実現できて幸せでした。
便利!

2010年6月22日火曜日

header.php内でのjQueryライブラリの読み込み

concrete5にjQueryライブラリの読み込みや、コードの記述をheader.php内でするときのメモです。

例えば、corner.jsをインクルードするときは、以下のような感じ。

    <script type="text/javascript" src="<?php echo $this->getThemePath().
'/js/corner.js'?>"></script>
    <script type="text/javascript">
        $(function(){
            $('#left_sidebar').corner();
            $('#right_sidebar').corner();
        });
    </script>

これで、同一テーマ内の前ページで、該当id全てにcorner()を適用できる。
便利だ。

2010年4月30日金曜日

jQueryライブラリの読み込ませる順番でミスした。

header.phpの中で、べた書きでjsをインクルードさせたら、
アクティブになってくれず、しばし悩みました。。

おかしいと思ったら、

<?php Loader::element('header_required'); ?>
の前に記述していたのが原因でした。

というのも、jQueryの本体を読み込む前に、ライブラリを読み込ませていた、と。
大ボケ。

<?php Loader::element('header_required'); ?>
の後に記述し直したら、無事jsが機能してくれました。

良かった。