M-Blog

3.カスタムフォームとカスタムプロセッサ

カスタムフォーム

独自の入力フォームを作成する。

@Bindingsの使い方はTips:2.テンプレート変数で@Bindingsを使うを確認

使用可能な@Bindings

@FILE @FILE content/files/example.txt
@INCLUDE @INCLUDE content/files/example.php
@CHUNK @CHUNK custom_form
@EVAL @EVAL php code;

使用可能なプレースホルダ

[+field_type+] フォールのtype属性
[+field_id+] フォームのID
[+field_name+] フォームのname属性
[+name+] フォームのname属性
[+default_text+] 規定値
[+field_value+]
[+value+]
[+field_style+] フォームのスタイル

※Custom Formでは全てのMODXタグが展開します。

今回は郵便番号から住所を取得します。(結果:参考画像No.1を参照)

<script src="https://ajaxzip3.github.io/ajaxzip3.js"></script>
<p>郵便番号 <input type="text" name="zip11" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','[+name+]','[+name+]');"></p>
<p>住所 <input type="text" name="[+name+]" value="[+value+]" size="60"></p>

郵便番号から住所を表示するプラグインは「ajaxzip3」を使用しています。要jQuery。

カスタムプロセッサ

独自の出力形式を作成できる。[+value+]が空の場合はタグなども出力されない。
カスタムプロセッサを無視して表示するには、[*テンプレート変数:raw*]で[+value+]の値がそのまま出力されます。

使用可能な@Bindings

@FILE @FILE content/files/example.txt
@INCLUDE @INCLUDE content/files/example.php
@CHUNK @CHUNK custom_form
@EVAL @EVAL php code;

プレースホルダ

[+value+]は必須。入力内容が出力される。
今回は入力した住所から、Googleマップを表示する。(結果:参考画像No.2を参照)

<iframe width="100%" height="300" frameborder="0" marginwidth="0" marginheight="0" src="http://maps.google.co.jp/maps?q=[+value:urlencode+]&output=embed&t=m"></iframe>

簡単に独自のフォームを追加して、出力も簡単に設定できます。次回は、カスタムフォームとカスタムプロセッサを使ったリソースのカテゴリ分けについてです。

参考URL

  • ex_subparser.php
  • custom_widget.inc.php

参考画像

No.1

No.2

© 2015 - 2019 M-Blog. Powered by MODX.

(URL:https://modx.mblo.info/,E-mail:info@mblo.info)

ブログについて
MODX Evolutionを使ってブログをしています。基本的にはまとめ、チートシートのメモなど、他にも日常のことをぼちぼち書いています。

コンテンツ
ブログ
MODXまとめ
MODXチートシート

動作環境
このブログはで運用しています。
・Apache 2.2.31
・OS Free BSD
・PHP 7.1.28
・MySQL 5.5.38
・MODX 1.0.22J-beta1

ブログ更新通知
RSS | ATOM

まとめ更新通知
RSS | ATOM

フィードバック

お問い合わせ
Twitter