a-blog cms 1.4で搭載される1ユニット更新機能
これまでの a-blog cms では、エントリーの情報を更新する際には、全てのユニットを全部表示し更新していまし た。次期バージョン1.4では、1つのユニットのみのフォームを表示させ更新する機能 が実装される予定です。
これまでの a-blog cms では、エントリーの情報を更新する際には、全てのユニットを全部表示し更新していまし た。次期バージョン1.4では、1つのユニットのみのフォームを表示させ更新する機能 が実装される予定です。
検索部分のAjax対応について company3で試すjs-post_inculde機能 | kazumich.log で書きましたが、今回は続きを読むのリンクについてカスタマイズしてみようと思います。カスタマイズのベースとなるテーマとしては、1.3.0bより同梱されるようになった company3 です。
まずは、今回のカスタマイズをする部分を見てみましょう。 一覧用のテンプレートになりますので、index.html というファイルになります。company3 には
の4つの一覧表示のテンプレートがあるようです。まずは、お知らせ(/news/)のテンプレートを修正していきましょう。
<!-- BEGIN continueLink:veil -->
<p class="continueLink clear"><a href="{continueUrl}">「{continueName}」の続きを読む</a></p>
<!-- END continueLink:veil -->
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>
<!-- エントリー検索 終了▲▲ -->
の続きです。今回は検索エンジンからのリファラーを元に、検索した結果を表示させてみましょう。
<form action="" method="post" class="js-post_include-ready"> <input type="hidden" name="keyword" size="30" value="CSS" /> <input type="submit" name="ACMS_POST_2GET" /> <input type="hidden" name="tpl" value="searchList.html" /> </form>
上記であれば、CSS というキーワードが固定されています。これを以下のようにしてみます。
<form action="" class="js-post_include-ready" onsubmit="return ACMS.Config.searchEngineKeyword;"> <input type="hidden" name="tpl" value="searchList.html" /> <input type="hidden" name="keyword" value="ACMS.Config.searchEngineKeyword" class="js-input-eval_value" /> <input type="hidden" name="ACMS_POST_2GET" /> </form>
form に onsubmit="return ACMS.Config.searchEngineKeyword;" を、検索条件のvalueには ACMS.Config.searchEngineKeyword と書き、classを class="js-input-eval_value" のように付けます。
あと、元はsubmitボタンになっていましたが、hiddenでも大丈夫ですので、hidden に変更してあります。
これで、検索エンジンからのリンクで検索ワードがセットされるようになるハズです。
うまく動けば、以下に何か表示されるようになります。この下に何か出てますか?
昨晩書いた a-blog cmsでAjax検索機能を実装 (1.2.2b) では、以下のように書いています。
<form action="" method="post" class="js-post_include" target="#result"> <input type="text" name="keyword" size="30" value="" /> <input type="submit" name="ACMS_POST_2GET" value="検索" id="submit" class="submit" /> <input type="hidden" name="tpl" value="searchList.html" /> </form> <div id="result"> <p>(検索されるとココが置き換わります)</p> </div>
(検索されるとココが置き換わります)
普通に検索するフォームを作ると、以下のように書きます。
<form action="" method="post"> <input type="text" name="keyword" size="30" value="" /> <input type="submit" name="ACMS_POST_2GET" value="検索" id="submit" class="submit" /> <input type="hidden" name="tpl" value="searchList.html" /> </form>
実際の動作すると以下のような感じになります。お試し下さい。(ページが切り替わります)
有限会社アップルップル
山本 一道
名古屋のホームページ制作会社「有限会社アップルップル」の代表をしています。弊社で開発しているCMS「a-blog cms」や、名古屋の「WCAN」も、よろしくお願いします。