company3で試すjs-post_inculde機能

a-blog cms 1.3.0b では、JavaScriptが分からない人でもAjax機能を実装する事が簡単に出来る機能が用意されております。その方法を簡単に書いておきますので、よろしければ以下の手順のようにお試し下さい。

サイト内検索した時にリロード無しにメインのコンテンツエリアを書き換える

修正するファイルは、/themes/company3/include/subInfo.html のみで、最初は以下のような感じになっております。

<!-- エントリー検索 開始▼▼ -->
<div id="freewordSearch" class="menuListBox">
	<h2>検索</h2>
	<form action="" method="post" name="searchForm" id="searchForm">
		<input type="text" name="keyword" value="%{KEYWORD}" size="15" />
		<input type="text" name="iebug" value="" style="display:none;" class="iebug" />
		<input type="submit" name="ACMS_POST_2GET" value="検索" />
		<input type="hidden" name="tpl" value="/search.html" />
		<input type="hidden" name="bid" value="%{BID}" />
	</form>
</div>
<!-- エントリー検索 終了▲▲ -->

メインコンテンツの表示内容の確認

まずは、何が起っているのか分かるようにAjax機能を利用せずに、ページ遷移して目的の表示をさせてみます。上記との違いは、

<input type="hidden" name="tpl" value="/include/search.html" />

"hidden"で渡している"tpl"の値を /themes/company3/search.html から /themes/company3/include/search.html に変更します。実行して頂いてソースを確認して頂けば分かる事ですが、簡単に説明すると<html>タグから始まるHTML全文でなく、JavaScriptで書き換えたい部分だけにしたHTMLのテンプレートになっています。

Ajax化するにはclassとtargetを指定するだけ

次に、formタグに class="js-post_include" target="#jsChangeContents" を追記します。

<form action="" method="post" name="searchForm" id="searchForm" class="js-post_include" target="#jsChangeContents">

完成形は以下のような感じ。target属性は、どこのdivを書き換えるかを指定しています。targetが無いと、そのフォーム自身が置き換わります。

<!-- エントリー検索 開始▼▼ -->
<div id="freewordSearch" class="menuListBox">
	<h2>検索</h2>
	<form action="" method="post" name="searchForm" id="searchForm" class="js-post_include" target="#jsChangeContents">
		<input type="text" name="keyword" value="%{KEYWORD}" size="15" />
		<input type="text" name="iebug" value="" style="display:none;" class="iebug" />
		<input type="submit" name="ACMS_POST_2GET" value="検索" />
		<input type="hidden" name="tpl" value="/include/search.html" />
		<input type="hidden" name="bid" value="%{BID}" />
	</form>
</div>
<!-- エントリー検索 終了▲▲ -->

jQueryを利用してオリジナルでPHPのプログラムを書いて同様の事をしようとすると、凄い大変な作業かと思いますが、a-blog cms であれば、やってみよう!と思えば数分で実装が可能です。これは一度ご自身で体験してみて下さい。私自身、このエントリーを書きながらカスタマイズして感動しています。

※注意: js-post_include はPOSTで動作しますので、このサンプルで表示されるページャーのリンクは正常に動作しません。その部分は別の方法で実装する必要がありますので、ご了承下さい。


関連記事

この記事のハッシュタグ から関連する記事を表示しています。

Flex Slider をa-blog cmsのユニットグループで利用する

Snippet - jQuery Syntax Highlighter を使えるようにしてみました

a-blog cms 1.4で搭載される1ユニット更新機能

a-blog cmsの続きを読むをAjax対応にする方法

スクロール時に画像の読み込みを開始する Lazyload

画像拡大時のjsをhighslideからprettyPhotoに

最新記事

アーカイブ

ハッシュタグ