表示されていないカスタムフィールドの値を削除しないようにする読者登録機能のカスタマイズカスタムフィールドの基本カスタムフィールドとはエントリーや、カテゴリー・ブログ・ユーザーに対して独自のデータを追加することができる機能です。追加したデータは表示や検索用のキーとして利用されます。ひとつの商品を紹介するエントリーに対して「値段・発売日・サイズ」などの情報をカスタムフィールドとして追加することで、商品情報のデータベースを作ることができます。カスタムフィールドのタグの基本カスタムフィールドはフォームタグのようにHTMLベースで書くことができます。値段を入れるカスタムフィールドを追加してみましょう。/>HTMLベースなので入力画面を入力しやすいレイアウトできます。カスタムフィールドでできることカスタムフィールドは以下のような入力フォームが追加できます。テキスト(テキスト、テキストエリア、チェックボックス、ラジオボタン、セレクトボックス)画像ファイル地図(GoogleMaps)カスタムフィールドの作成カスタムフィールドはテキスト、テキストエリア、チェックボックス、ラジオボタン、セレクトなど用途に応じて作ることができ、お問い合わせフォームやエントリー作成画面、ブログ・カテゴリー・ユーザー・モジュールの管理画面で使います。カスタムフィールドの記述について解説します。テキストのカスタムフィールドテキストを入力するカスタムフィールドを作ることができます。</td></tr>テキストエリアのカスタムフィールドテキストエリアを入力するカスタムフィールドを作ることができます。</td></tr>チェックボックスのカスタムフィールドチェックボックスを入力するカスタムフィールドを作ることができます。</td></tr>ラジオボタンのカスタムフィールドラジオボタンを入力するカスタムフィールドを作ることができます。</td></tr>セレクトのカスタムフィールドセレクトボックスを入力するカスタムフィールドを作ることができます。</td></tr>ブログのカスタムフィールドブログの管理画面にカスタムフィールドを作って、独自の情報を持たせることができます。テキスト、画像、ファイルなどブログ毎に項目が作れます。ブログのカスタムフィールド画面ブログのカスタムフィールドはブログ管理のカスタム設定タブにあります。カスタムフィールドを追加するには以下のファイルを利用中のテーマフォルダに置いてください。サイトの説明を入力するカスタムフィールドを追加してみましょう。/>サイトに表示させるブログのカスタムフィールドはBlog_Fieldモジュール、Entry_BodyやEntry_SummaryモジュールのblogFieldブロック内で使うことができます。-->Entry_BodyやEntry_SummaryモジュールのblogFieldブロック内で表示モジュールIDの設定して、entry:loop内にblogFieldブロックを記述してください。ブログフィールドにチェックをしてください。モジュールのブログフィールド出力設定カテゴリーのカスタムフィールドカテゴリーの管理画面にカスタムフィールドを作って、独自の情報を持たせることができます。テキスト、画像、ファイル、地図などカテゴリー毎に項目が作れます。カテゴリーのカスタムフィールド画面カテゴリーのカスタムフィールドはカテゴリー管理のカスタム設定タブにあります。カスタムフィールドを追加するには以下のファイルを利用中のテーマフォルダに置いてください。ページのキーワードを入力するカスタムフィールドを追加してみましょう。/>サイトに表示させるカテゴリーのカスタムフィールドはCategory_Fieldモジュール、Category_ListやCategory_EntryList、Entry_BodyやEntry_SummaryモジュールのcategoryFieldブロック内で使うことができます。-->Category_ListやCategory_EntryListモジュールで表示category:loop内にカテゴリーのカスタムフィールドを書きます。-->Entry_BodyやEntry_SummaryモジュールのcategoryFieldブロック内で表示モジュールIDの設定して、entry:loop内にcategoryFieldブロックを記述してください。カテゴリーフィールドにチェックをしてください。モジュールのカテゴリーカスタムフィールド出力設定エントリーのカスタムフィールドエントリーの作成画面にカスタムフィールドを作って、独自の情報を持たせることができます。テキスト、画像、ファイル、地図などエントリー毎に項目が作れます。エントリーのカスタムフィールド画面エントリーのカスタムフィールドはエントリー作成画面にあります。カスタムフィールドを追加するには以下のファイルを利用中のテーマフォルダに置いてください。エントリーをピックアップするチェックボックスのカスタムフィールドを追加してみましょう。/>サイトに表示させるエントリーのカスタムフィールドはEntry_Fieldモジュール、Category_EntryListやCategory_EntrySummary、Entry系モジュールのentry:loop内で使うことができます。-->Category_EntryListやCategory_EntrySummaryモジュールで表示entry:loop内にエントリーのカスタムフィールドを書きます。-->Entry系モジュールで表示モジュールIDの設定して、entry:loop内にエントリーカスタムフィールドを記述してください。エントリーフィールドにチェックをしてください。モジュールのエントリーフィールド出力設定ユーザーのカスタムフィールドユーザーの管理画面にカスタムフィールドを作って、独自の情報を持たせることができます。テキスト、画像、ファイル、地図などユーザー毎に項目が作れます。ユーザーフィールド編集画面ユーザーのカスタムフィールドはユーザー管理のカスタム設定タブにあります。カスタムフィールドを追加するには以下のファイルを利用中のテーマフォルダに置いてください。ユーザーの郵便番号を入力するカスタムフィールドを追加してみましょう。/>サイトに表示させるユーザーのカスタムフィールドはUser_Fieldモジュール、User_ProfileやUser_Search、Entry_BodyやEntry_SummaryモジュールのuserFieldブロック内で使うことができます。-->User_ProfileやUser_Searchモジュールで表示user:loop内にユーザーのカスタムフィールドを書きます。-->Entry_BodyやEntry_SummaryモジュールのuserFieldブロック内で表示モジュールIDの設定して、entry:loop内にuserFieldブロックを記述してください。ユーザーフィールドにチェックをしてください。モジュールのユーザーフィールド出力設定モジュールのカスタムフィールドモジュールの管理画面にカスタムフィールドを作って、独自の情報を持たせることができます。テキスト、画像、ファイル、地図などモジュール毎に項目が作れます。モジュールフィールドの編集画面モジュールのカスタムフィールドは、モジュールID一覧>モジュールIDの変更の順に移動したページのカスタム設定のタブにあります。カスタムフィールドを追加するには以下のファイルを利用中のテーマフォルダに置いてください。見出しを入力するカスタムフィールドを追加してみましょう。/>サイトに表示させるモジュールのカスタムフィールドはモジュールIDが作成できるモジュールのmoduleFieldブロック内で使用できます。-->モジュールのカスタムフィールドをご使用の際は、使用したいモジュールIDのカスタムフィールドの項目をチェックしてください。共通の項目という見出しの後にあるカスタムフィールドの項目をチェックするカスタムフィールドグループカスタムフィールドグループとは、単体の項目であるカスタムフィールドを複数まとめて取り扱うことができる機能です。カスタムフィールドの項目を追加したり、削除したりすることができます。カスタムフィールドグループはカスタムフィールドと同じように画像やテキストのカスタムフィールドを組み合わせて使えます。カスタムフィールドグループのサンプル例)画像とテキスト、テキストエリアを組み合わせたカスタムフィールドグループです。/>カスタムフィールドグループ内で使用可能なclass属性カスタムフィールドグループ内では、いくつかの特殊なclass属性の記述があります。これらは、実際にブラウザ上で表示される際に機能します。js-fieldgroup-sortableこのclass属性が適用されている範囲内で、カスタムフィールドグループが使用できます。ひな形となり、この要素の内容が追加されます。item-handleこのclass属性が記述されている要素が、順番を変更する時に「つかむ(ドラッグする)」部分になります。js-fieldgroup-sortable内で使用可能です。item-deleteこのclass属性が記述されている要素で、該当するカスタムフィールドグループが削除できます。js-fieldgroup-sortable内で使用可能です。item-maxこのclass属性が記述されている要素のvalueにある値がカスタムフィールドグループに挿入できる項目の最大数となります。以下のソースコードで、7以上の項目を追加しようとすると警告文が表示されます。js-fieldgroup-sortable内で使用可能です。/>例で使用したカスタムフィールドの解説カスタムフィールドの定義カスタムフィールドのグループ名(@bfd_field_unit_group)とカスタムフィールド変数名(bfd_field_unit_lead)をセットで定義します。/>カスタムフィールドのグループ名(@bfd_field_unit_group)はカスタムフィールドのグループ名を記述しています。/>テンプレートに表示するエントリーカスタムフィールドで作成した場合は、Entry系モジュールのentry:loop内にカスタムフィールドグループを記述してください。ような記述でも「小見出し2です」を表示させることが可能です。管理画面のコンフィグ管理のところにガイドライン/ツール「カスタムフィールドメーカー」というページがあります。カスタムフィールドメーカーのメニューカスタムフィールドメーカーではカスタムフィールドを毎回どこからからコピペして書き換えたりしなくてもラベルや値、サイズなど入力していくだけカスタムフィールドのHTMLが作れてしまう便利な機能になります。カスタムフィールドではテキストや画像などさまざまなカスタムフィールドを組み合わせることができます。テキストセレクトラジオチェックボックステキストエリア画像カスタムフィールドグループカスタムユニットカスタムフィールドの作り方typeとタイトル、フィールド名を入力します。セレクトに変更しタイトル、name属性、option要素(label・value)を入力して[生成]ボタンを押すとテキストの下にセレクトのカスタムフィールドが生成されます。画像のカスタムフィールドを生成タイトル、name要素、通常サイズ、altの入力、tinyサイズ、largeサイズ、squareサイズなど細やかに設定することができます。画像のカスタムフィールド生成例また、「フロント側のリサイズ機能を使用する」という項目にチェックを入れることで、画像のブラウザ上でのリサイズを可能にするソースコードを生成します。これを使うことで、通常だとそのままアップロードができないサイズの画像もアップロードできるようになります。デジタルカメラで撮影したような容量の大きい画像をブラウザ上でリサイズしてサーバーにアップロードすることができるということです。カスタムフィールドグループの作り方まずは、下の図のように、「カスタムフィールド」、「カスタムフィールドグループ」、「カスタムユニット」からカスタムフィールドグループを選択します。要素に合わしたタイトル、name属性、値などを入力[追加]ボタンを押すと要素が追加されます2の手順に戻り、要素をまた選択してカスタムフィールドを追加してください最後に[生成]ボタンを押してくださいカスタムフィールドグループ入力例カスタムユニットの作り方まずは、下の図のように、「カスタムフィールド」、「カスタムフィールドグループ」、「カスタムユニット」からカスタムユニットを選択します。カスタムユニット選択あとは、カスタムフィールドの作り方と同じです。typeとタイトル、フィールド名を入力します。他にもカスタムフィールドメーカーには下記のような便利な機能が用意されています。「オプション」という項目をクリックすると、下の図のように変換と、入力チェックのためのフィールドが出現します。変換・入力チェック画面はじめに、「変換」ですが、これを使うことで例えば「大文字」で登録されたアルファベットを「小文字」に変換したりするためのソースコードを生成可能です。「参照」と書かれたボタンを押していただくと下の図のようにモーダルウィンドウが現れますので、その中から変換したい項目を選択してください。変換のフィールドには複数の値を登録することも可能です。コンバーター参照つづいて「入力チェック」ですが、こちらは入力された値を指定した条件でチェックできます。条件に沿わない値が入力された場合、再度入力を促すことができます。下の例は、あるフィールドに対して値が入力されていない場合に、「値を入力してください」というメッセージを表示する際のサンプルです。入力チェックのサンプルその他にも、文字数チェックや、URLチェックなど様々な条件で値を判定することができます。「値」の欄には文字数チェックにおいて最大文字数を入れたり、正規表現マッチで、正規表現を入れたりする際に使用します。生成されたコードのプレビュー機能また、下の図のように、「入力用ソース」、「プレビュー」、「出力用ソース」と書かれたタブのあるボックスから、プレビューを選択していただくと、下の図のように実際に出力されたソースがどのような見た目になるのかを確認することができます。カスタムフィールドのプレビューフィールドの「出力用ソース」生成機能これは、カスタムフィールドに入力された値の結果をテーブル形式で表示したい時に使用します。お問い合わせのフォームにて、入力された値をお客様に確認してもらうためのソースコードとして役にたちます。cmsの管理画面で使用されているクラスが施されたソースコードを生成できます。これにチェックを入れていないと、全くクラスの施されていないソースコードが生成されます。出力用ソースのオプションデベロッパーサイトのカスタムフィールドメーカーを使用する本デベロッパーサイトでもカスタムフィールドメーカーを使用することができます。cmsに搭載されているカスタムフィールドメーカーと同じです。本デベロッパーサイトのドキュメントページの、リファレンスのカスタムフィールドメーカーを選択すると移動することができます。サイト政策にお役立てください。カスタムフィールドメーカの場所テキスト入力にインラインエディターを使用するすでにテキストユニットに導入されているインラインエディタですが、このインターフェースはカスタマイズ次第でブログやカテゴリー、エントリーなどのカスタムフィールドとしても利用可能です。ここではその方法について、登録側(管理画面)と表示側に分けてご紹介します。以下が、インラインエディターが実装された、カスタムフィールドのサンプルHTMLになります。表示したいインラインエディターの変数がsample_textであった場合、以下のように記述します。エントリーのカスタムフィールドで作成した場合はEntry系モジュールのentry:loop内に記述してください。校正せず、そのままのデータを出力する校正オプション[raw]を記述してください。{sample_text}[raw]ボタンの位置、クラス名、ボタンのオプションの変更テキストユニットで導入されているインラインエディターとはオプションの指定方法が異なります。設定がデフォルトで空になっているため、カスタムフィールドでLiteEditorを使用する場合は適用しているテーマ内にJavaScriptファイルを別途作成して設定ください。ACMS.Config.LiteEditorFieldConf.xxxという記述で設定を下記のように適用します。];});LiteEditorのデフォルトボタンをそのまま維持したい場合はbtnOptionsを下記のように指定します。使えるようになったリッチエディターユニットですが、下の図のように、このインターフェースはカスタマイズ次第でブログやカテゴリー、エントリーのカスタムフィールドとしても利用可能です。ここではその方法について、登録側(管理画面)と表示側に分けてご紹介します。以下が、リッチエディターが実装された、カスタムフィールドのサンプルHTMLになります。js-expandやjs-expand-btnと記述された部分は要素を全画面表示するための記述で本来リッチエディターとは関係ありませんが、編集領域が狭い場合などに有効です。いう変数の場合は以下のように記述します。エントリーのカスタムフィールドで作成した場合はEntry系モジュールのentry:loop内に記述してください。変数名そのままではなく、{rich@html}と記述して表示しないといけない点にご注意ください。{rich@html}なおこれら一連のソースコードは、カスタムフィールドメーカーからも生成できるようになっています。使えるようになったテーブルユニットですが、下の図のように、このインターフェースはカスタマイズ次第でブログやカテゴリー、エントリーのカスタムフィールドとしても利用可能です。ここではその方法について、登録側(管理画面)と表示側に分けてご紹介します。以下が、テーブル編集のインターフェースが実装された、カスタムフィールドのサンプルHTMLになります。IFブロックのELSEの方の記述に、まだカスタムフィールドが保存されていない場合、初期状態で表示したいテーブルのHTMLを記述します。いう変数の場合は以下のように記述します。エントリーのカスタムフィールドで作成した場合はEntry系モジュールのentry:loop内に記述してください。HTMLをそのまま出力したいので校正オプションである[raw]をつける必要があります。cmsでは、任意の入力フィールドをCKEditorにする設定が標準で実装されています。(v1.2.1より)通常は、ユニットのプルダウンメニューで「ウィジウィグ」を選択すると、入力フィールドがCKEditorに切り替わりますが、この機能を使用すると任意の入力フィールドをCKEditorの入力画面にすることができます。カスタムフィールドであらかじめウィジウィグ入力することが決まっている場合などに設定すると便利です。設定の編集この機能の設定は、/js/config.jsの以下の箇所にあります。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。'textarea.js-ckeditor',ckeMarkCKEditorにする入力フィールドのセレクタを指定します。class="js-ckeditor"></textarea>JavaScriptフォームCKEditorウィジウィグ絵文字メディアを使用するメディアを利用したカスタムフィールドとはVer.2.10からメディアを利用したカスタムフィールドを作れるようになりました。メディアのカスタムフィールドを使うとメディア管理に登録されている画像やファイルをカスタムフィールドとして登録することができます。cmsに標準で梱包されているsiteテーマにもブログのカスタムフィールドにメディアのカスタムフィールドが組み込まれています。「メディア選択」をクリックするとメディア一覧から画像もしくはファイルを選択するモーダルウィンドウが出現します。メディアアップロードまたカスタムフィールドより「アップロード」ボタンをクリックするとそこから新たにメディアを登録するためのモーダルウィンドウが出現します。メディアのカスタムフィールドからもメディアユニットのように複数ファイルアップロード可能ですが、カスタムフィールドとして登録されるファイルは初めの一個だけになります。メディア編集また「メディア編集ボタン」をクリックすることで、メディアのカスタムフィールドから直接登録されたメディアを編集することができます。このメディアが他の場所でも使われている可能性があるので十分注意して編集してください。メディア削除また、カスタムフィールドに登録してあるメディアは「削除」ボタンをクリックすることでカスタムフィールドへの登録を解除できます。メディアに登録されたファイルは削除されません。カスタムフィールドの記述方法メディアのカスタムフィールドは簡単なHTMLを記述するだけで作成可能です。下はメディアのカスタムフィールドのサンプルコードになります。data-acms-tooltip="サイトのロゴ画像を設定します。いうクラスを追加します。その後その領域内で、メディア選択ボタンには、js-insert、メディア編集ボタンにはjs-edit、削除ボタンにはjs-removeというクラスを付与します。js-previewというクラスを付与します。アップロードボタンも選択ボタンと同じく、js-insertクラスを付与しますが、data-mode属性をuploadにする必要があります。アップロードしたい画像のタイプを制限したい場合は、data-type属性を利用します。data-type="image"にすると画像のみアップロード可能に、また、data-type="file"とするとファイルのみアップロード可能になります。カスタムフィールドメーカーの利用Ver.2.10よりカスタムフィールドメーカーからメディア用のカスタムフィールドもHTML出力できるようになっています。記述量が多いのでこちらで設定する方が間違いが少ないのでオススメです。こちらのカスタムフィールドメーカーはdeveloperサイトからもご利用いただけます。ファイルをアップロードするファイルをアップロードするカスタムフィールドついて詳しく説明します。以下で説明しているファイルのカスタムフィールドは、ソースコードの生成はカスタムフィールドメーカーで簡単に作成できます。/>14行目:アップロードするファイルの拡張子を指定【任意】value属性に拡張子を記述します。ここで指定した種類のファイルのみアップロードできます。拡張子は1つのみ指定可能です。指定していない場合はコンフィグの設定が適用されます。/>拡張子を複数指定したい拡張子を複数指定してユーザーに入力のヒントを提示したい場合は、HTMLのaccept属性を使用することを推奨しています。以下の例では、.pdf、.docx、.docの拡張子を許可しています。ユーザーは指定された拡張子のファイルのみ選択できるようになります。/>15行目:アップロードする場所とファイル名を指定【任意】カスタムフィールドからアップロードされたファイルは、/archives/bid/内に格納されます。(その他の場所にはアップロードできません。)※@filenameは@baseNameと違い、ファイル名を指定することができます。-->PDFファイルの表示ZIPPDFカスタムフィールド画像をアップロードする画像をアップロードするカスタムフィールドついて詳しく説明します。以下で説明しているファイルのカスタムフィールドは、ソースコードの生成はカスタムフィールドメーカーで簡単に作成できます。指定し、画像の形式も自働的に変換されます。/>16行目:アップロードする場所とファイル名を指定【任意】カスタムフィールドからアップロードされた画像は、/archives/bid/内に格納されます。(その他の場所にはアップロードできません。幅(width)と高さ(height)を指定します。幅と高さどちらかを指定すると指定した大きさを元に縦横比に合わせて画像がリサイズされます。「size」は画像の長辺を指定します。/>画像(小)と(大)と(正方形)の大きさを指定することもできます。指定した場合にのみ、画像(小)と(大)と(正方形)の画像が作成されます。※正方形画像はv.1.5.0から使用できる機能です。/>※Widthでは横の長さを、Heightでは縦の長さを、Sizeでは長辺を基準にして指定することができます。cmsの組み込みJSを使えば、下の図のようなOpenStreetMapのインターフェースを使って、緯度・経度・ズームの値をカスタムフィールドとして登録することができます。ここではその方法について、登録側(管理画面)と表示側に分けてご紹介します。登録側(管理画面)の記述OpenStreetMapのインターフェースのカスタムフィールドのサンプルHTMLになります。</tr></table>記述の説明まず、js-open-street-map-editableというクラスでOpenStreetMapのインターフェースを適応したいエリア全体に記述してください。class="js-open-street-map-editable">次に以下のようにjs-open-street-map-pickerというクラスをdivなどの要素に記述することによってピン付きのマップを表示することができます。300px;"></div>緯度・経度・ズームの値を入力箇所は以下のように記述します。緯度のフィールドにはjs-osm-latを、経度の情報にはjs-osm-lng、ズーム値のフィールドにはjs-osm-zoomを記述してください。することで、OpenStreetMapのピンの位置とフィールドの値を紐づけることができます。/>また、下のようなHTMLを記述すれば、スポットの位置を住所やスポット名で検索するための入力エリアを作ることもできますが、検索の精度はそれほどよくないので、検索結果の緯度経度が実際のものとずれている場合もあります。その場合は手動でピンを動かして緯度経度を設定してください。いう変数の場合は以下のように記述します。エントリーのカスタムフィールドで作成した場合はEntry系モジュールのentry:loop内に記述してください。Mapsのインターフェースのカスタムフィールドを使って、緯度・経度・ズームの値を入力することができます。MapsのインターフェースのカスタムフィールドのサンプルHTMLになります。Mapsをカスタムフィールドで利用するための記述。各記述全体を囲む要素に記述してください。いう変数の場合は以下のように記述します(ここでは説明しやすいように具体的な変数名を使用しますが、実際の変数名は任意です)。エントリーのカスタムフィールドで作成した場合はEntry系モジュールのentry:loop内に記述してください。/>一覧ページで複数のピンを表示するエントリーのカスタムフィールドで緯度を{map_lat}、経度が{map_lng}、カテゴリーのカスタムフィールドで緯度を{index_map_lat}、経度を{index_map_lng}、ズームを{index_map_zoom}を指定している例です。下記の例では、それぞれmarkersとalt属性にEntry_Summaryを使うことで複数ピンの表示と、ピンをクリックした後の吹き出しを表示しています。Mapユニットでストリートビューが利用できるようになりました。それに伴いカスタムフィールドでもストリートビューの表示位置を調整して表示することができるようになりました。以下はストリートビューを使ったカスタムフィールドのイメージです。MapsのカスタムフィールドのサンプルHTMLになります。</tr></table>ストリートビューの表示また登録したストリートビューは以下のように表示できます。cmsでは、いま表示しているページがWebサイトのどこにいるか、どのような状態であるかをURL上のパスとして表現しています。(これを「URLコンテキスト」といいます。)例えば以下のURLは、http://example.com/search/field/price/100/300/「searchカテゴリーの、priceというフィールドの値が100または300」の情報を表示します。この検索機能によりサイトの利用者にとっての検索性を高めることが可能になります。Field_SearchモジュールField_Searchモジュールを使えば、サイトの利用者はより簡単にサイトの情報を検索することができます。いうのも「URLコンテキスト」を利用するための検索フォームを提供できるからです。下の図の検索フォームですと、URLコンテキストはフォームのカスタマイズにより、以下のURLのようになります。http://example.com/realestate/field/price/gte/30000/lte/50000/_and_/station/JR名古屋駅/URLコンテキストを利用した検索方法URLコンテキストを利用した検索方法は以下のような方法があります。合致する条件を一つ指定する検索です。指定した条件に合致するエントリーが表示されます。[複数条件・or検索]合致する条件を複数指定する検索です。指定した条件のいずれかに合致する(=OR検索)エントリーが表示されます。※注意:同じフィールドの値でAND検索は利用できません。演算子で条件を指定する検索です。条件に合致するエントリーが表示されます。/>name属性カスタムフィールド名の後ろに「@operator」を記述します。[複数条件・and検索]複数の演算子で条件を指定する検索です。すべての条件に合致する(=and検索)エントリーが表示されます。値を入力し、かつ演算子を指定する検索です。条件に合致するエントリーが表示されます。[複数条件]条件の値を入力し、かつ演算子を指定する検索です。複数の条件をand検索かor検索で条件に合致するエントリーが表示されます。-->チェックボックスを使用した複数条件指定チェックボックスで複数の条件指定する検索です。複数の条件をand検索かor検索で条件に合致するエントリーが表示されます。2.1.1以前は、違うカスタムフィールドの複合検索はAND検索のみしかできませんでしたが、Ver2.1.1からOR検索にも対応しました。AND検索とOR検索ですが、混ぜて使うことは出来ません。-->http://examplecom/field/price/gte/1000/_and_/color/red/「and」または「_and_」で繋げる事により、違うフィールドのAND検索を行えるようになります。この場合、priceが1000以上かつcolorがredなものを検索します。OR検索のURLhttp://example.com/field/price/gte/1000/_or_/color/red「_or_」で繋げる事により、違うフィールドのOR検索を行えるようになります。この場合、priceが1000以上、またはcolorがredなものを検索します。em(空の時)はOR検索で利用できません。設定する事により、設定できるようになります。カスタムフィールド検索の対象外にするキーワード検索やカスタムフィールド検索で、カスタムフィールドの値が検索に引っかからないように設定することができます。商品の値段をカスタムフィールドで登録しており、一般ユーザには商品の値段を表示したくないケース等に使うことができます。カスタムフィールドがpriceの場合、name属性にprice:searchと設定し、value="0"とします。value="0">カスタムフィールドをキーにしたエントリーの表示順設定カスタムフィールドの検索を行ったときに、検索結果のエントリーを指定した順番に表示する方法を説明します。検索対象になるエントリーを用意するまずは検索対象になるエントリーを用意します。エントリーを作成し、エントリーのカスタムフィールドを追加します。ここでは例として、「price」というフィールドを用意し、いくつかエントリーを登録しておきます。いうファイルを作成します。エントリーのカスタムフィールドを記述します。class="acms-admin-error-text">数値を入力してください。</tr></table>エントリーのカスタムフィールドが作成できたら、作成したカスタムフィールドに値を入力し、[作成]ボタンをクリックし保存します。これを数回繰り返し、いくつかエントリーを登録します。これで検索対象になるエントリーが用意できました。カスタムフィールドをキーにした検索フォームを作成する手順1で作成したカスタムフィールドをキーにした検索フォームを作成します。以下のソースは、フィールド「price」をキーにして検索するフォームです。検索フォームを設置してください。-->これでカスタムフィールドの値をキーにして検索するフォームができました。エントリーを表示する順番を設定する検索結果のエントリーの表示順を設定をする方法は3つあります。[優先度:低]検索結果のエントリー表示にはモジュールを使用します。その使用するモジュールのコンフィグの「表示順」の設定で、以下の4つの中から選択します。カスタムフィールドを「数値」として扱いたい場合は「数値フィールド」を選択します。数値フィールドの昇順にすると、3、20、100...のように数値として小さい値から順になりますが、フィールドの昇順の場合、数値ではなく「文字列」として扱われるため、100、20、3...のようにアルファベット順になります。アルファベット順の昇順の場合、1が2より先にくるためです。Entry_Bodyの表示順設定なお、モジュールIDを使って、検索内容を表示する場合は「フィールド」の引数にチェックをつけてください。チェックをつけることで、検索内容と一致するものが表示されます。[優先度:中]検索結果のエントリー表示で使用しているモジュールIDの引数設定で、以下の4つの中から設定します。カスタムフィールドを数値として扱いたい場合は「intfield-asc」「intfield-desc」を使用します。[優先度:高]手順2で作成したフォームのsubmitボタンの記述部分に、表示順を指定する記述を追加します。この記述の情報はURLコンテキストに反映されるため、指定を反映させるにはモジュールIDの引数設定にチェックを入れてください。数値フィールド(降順)今回の例では、価格は数値として扱い降順に表示する場合は、以下のような記述と設定になります。引数設定の表示順で、表示順のチェックと表示順指定を両方設定すると、URLコンテキストに表示順の情報があるときにはURLコンテキストが優先され、URLコンテキストに表示順の情報がないときに、引数設定に入力した表示順が適用されます。以上で、エントリーをソート表示する検索フォームができました。表示順設定の優先度について先述の(A)〜(C)の3つの表示順設定が、(A)〜(C)いずれか1つではなく重複している場合は、優先度がより高いものが適用されます。「(C)input要素を使った指定」で指定します。表示されていないカスタムフィールドの値を削除しないようにする通常、エントリーデータの変更時にはカスタムフィールドの値は全て更新が行われます。そのエントリーに登録されているカスタムフィールドの値を全て削除したのちに、入力されている値を登録します。新規エントリー登録時には、カスタムフィールドとしてTEL、FAXの項目にデータを入力して保存します。誤って編集時はカスタムフィールドのTEL、FAXの項目を記述しておらず、保存してしまいました。本来ならカスタムフィールドが無い状態で保存したため先ほど入力したTELとFAXの値は消えてしまいますが、下記の記述をするとカスタムフィールドの値が削除されないようになります。エントリーのカスタムフィールドだけではなく、カテゴリーやブログのカスタムフィールドも同様に値を保持することができます。全て削除してから登録するのではなく、画面に存在している値のみ上書きするには、下記の2行を入力・編集画面のformブロック内に記述します。/>読者登録機能のカスタマイズ読者登録機能のカスタマイズ方法について解説します。読者登録機能を有効にしましょう読者登録機能を使うことで自由にユーザーを登録することができます。ショッピングや会員サイトなどで使われています。ページ内、読者登録機能の「ユーザー登録の外部申請:ユーザー登録の外部申請を受け付ける」にチェックをしてください。アクセスしたときに「新規の読者登録はこちら」というリンク先ができています。読者登録の項目に名前とメールアドレスという項目があります。ここに項目を増やしていきましょう。項目はカスタムフィールドを使って増やすことができます。ご利用のテーマにコピーしましょう。/themes/ご利用のテーマ/login.html読者登録はsubscribeブロック内にあります。ここに追加したい項目のカスタムフィールドを追加しましょう。登録画面のスクリーンショットはデフォルトレイアウトのままですが、login.htmlにHTMLやCSSを追加することでレイアウトの調整も出来ると思います。オリジナルデザインのユーザー登録画面を作成してください。class="acms-login-text">お名前とメールアドスを登録いただくと指定されたメールアドレスに確認メールが送信されます。メールの内容の従って登録をしてください。acms-alert-info">入力されたメールアドレス宛に、確認用URLをパスワードを記載したメールを送信しました。acms-alert-danger">名前が入力されていません。acms-alert-danger">メールアドレスが入力されていません。acms-alert-danger">不正なメールアドレスです。acms-alert-danger">すでに登録されているメールアドレスです。acms-alert-danger">メールの送信に失敗しました。システムの設定に問題があります。システムの管理者にお問い合わせください。class="acms-login-text">SNSアカウントで登録するとワンクリックでログインできます。-->今回は会社名と好きな果物の項目を追加しました。必要な項目を増やしてください。メールのテンプレートに項目を追加する読者登録すると申請メールが届きます。このメールのテンプレートに先ほど追加した「会社名」と「好きな果物」の項目を記述してください。メールのテンプレートはsystemテーマにあるのでご利用のテーマにコピーしてきてください。/themes/system/mail/subscribe/subject.txt/themes/system/mail/subscribe/body.txt/themes/system/mail/subscribe/adminSubject.txt/themes/system/mail/subscribe/adminBody.txtご利用のテーマ内にコピーしてきたbody.txtとadminBody.txtを開いて、「会社名」と「好きな果物」の項目を追加します。/themes/ご利用のテーマ/mail/subscribe/body.txt/themes/ご利用のテーマ/mail/subscribe/adminBody.txt読者登録の申請を行いました。{fruit}以下のリンクをクリックし、メールアドレス、パスワードを入力してログインして下さい。{subscribeUrl}[raw]ユーザー管理画面のテンプレートに項目を追加する次にユーザー管理画面にも「会社名」と「好きな果物」の項目を追加していきましょう。ご利用のテーマのadminフォルダ内にuserフォルダを作成してください。その中にfield.htmlファイルを作りましょう。</tr></table>実際に登録して、ユーザーの管理画面で確認してみましょう。新しく追加した「会社名」と「好きな果物」が追加されています。設定できるようになりました。投稿者を読者登録画面から申請することができます。※この機能はスタンダードライセンスだとユーザー数は基本5userまでなので、無制限ユーザー追加オプションやプロフェッショナル/エンタープライズ版を利用している方におすすめします。ページ内、読者登録機能の「権限」という項目になります。ここでユーザー登録申請されたときにデフォルトで作成されるユーザーの権限を選択してください。読者登録は申請するとメールアドレスとパスワードの書いてあるメールのが届き、そのURLからログイン画面でメールアドレスとパスワードを入れることで初めてユーザー登録が完了します。この機能を使うことで読者登録を申請するだけでユーザー登録ができます。ページ内、読者登録機能の「メールアドレスの有効性確認:メールアドレスの有効性とパスワード認証を行わない」にチェックをすると申請確認メールのメールアドレスとパスワードをクリックしなくてもユーザー登録ができるようになります。