baserCMSのメールフォームについて
baserCMSは標準機能でメールフォームを複数作ることができ、入力欄も管理画面から簡単に追加・変更ができます。
また、確認画面や送信メッセージのDB保存なども標準で備わっており、非常に使いやすい機能となっております。


(画像認証のオプションをつける事もできます。)
baserCMSのブログについて
baserCMSは標準機能で、複数のブログを持つこともできます。
例えば、通常の「お知らせ情報」の他に「製品情報」ブログなどを作成したりすることもできます。
製品情報ブログのようなものの場合、「この製品に関するお問い合わせ」といったリンクボタンをつけて、メールフォームへの導線をつけたりすることがあると思いますが、そういったときに活躍するのが、メールフォームに初期値をURLで持たせる機能です。
baserCMSのメールフォームは各入力フィールドに対して、一つずつ初期値をもたせる機能が標準でついておりますが、上記のようなパターンの場合、初期値を持たせるためにブログ記事の数だけ同じ入力フィールドを持ち、別の初期値を持つメールフォームを作成するのはなかなか面倒です。
そういった場合、baserCMSではメールフォームへのリンクにパタメーターをもたせたURLを使うことで、簡単に初期値をもたせることができます。
例
- 画像のようなメールフォーム「/contact/」が存在する
- 製品ブログの「製品A」の記事がある
- 記事からメールフォームに遷移した際に「お問い合わせ内容」の初期値に「製品Aのお問い合わせ」を入れたい
このようなパターンの場合、以下の法則に従ってフォームへのリンクURLを作成する
baserCMS 4.x.x 系の場合
フォームへのパス: /contact/
+
/index/
+
フィールドのname: message
+
:(コロン)
+
base64encode('製品Aのお問い合わせ') ※PHPの base64encode()を使います。
注意 base64encode() だとURLに使用すると文字化けする文字が含まれることがあるため、base64UrlsafeEncode('製品Aのお問い合わせ') の記述をお勧めします。
これをまとめると
/contact/index/message:6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..
※ 6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..はbase64UrlsafeEncode('製品Aのお問い合わせ')の変換結果
といったパスが生成できます。
リンクの書き方としては
<a href="/contact/index/message:6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..">この製品に関するお問い合わせはこちら</a>
複数の初期値を持たせたい場合は / 区切りで何個でもつけることが可能です。
/contact/index/name_1:W_S8muWToV0./mreeage:6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..
name_1に「[会員]」の文字をいれ、message に「製品Aのお問い合わせ」を入れています。

baserCMS 5.x.x 系の場合はクエリ渡しとなります
フォームへのパス: /contact/
+
/index?
+
フィールドのname: message
+
=(イコール)
+
base64encode('製品Aのお問い合わせ') ※PHPの base64UrlsafeEncode()を使います。
これをまとめると
/contact/index/message:6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..
※ 6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..はbase64UrlsafeEncode('製品Aのお問い合わせ')の変換結果
といったパスが生成できます。
リンクの書き方としては
<a href="/contact/index?message=6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..">この製品に関するお問い合わせはこちら</a>
複数の初期値を持たせたい場合は & 区切りで何個でもつけることが可能です。
/contact/index?name_1=W_S8muWToV0.&message=6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..
name_1に「[会員]」の文字をいれ、message に「製品Aのお問い合わせ」を入れています。
初期値なのでフォームから追加入力や、変更も可能です。
テーマの組み方によってフォームの見出しに使ったりすることも可能です。
これらを駆使することで、特定のフォームとBlog記事の連携などがしやすくなります。
ちなみに、これらのURLを手動で作成するのが面倒な方や、手元にphpの環境を持っていない方のために、変換ツールを作成しました。
こちらも併せて使用してみてください。