0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

baserCMSのメールフォームについて

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

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のお問い合わせ」を入れています。
image.png

baserCMS 5.x.x 系の場合はクエリ渡しとなります

フォームへのパス: /contact/

/index?

フィールドのname: message

=(イコール)

base64encode('製品Aのお問い合わせ') ※PHPの base64UrlsafeEncode()を使います。
これをまとめると

/contact/index/message:6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..

6KO95ZOBQeOBruOBiuWVj_OBhOWQiOOCj_OBmw..base64UrlsafeEncode('製品Aのお問い合わせ')の変換結果
といったパスが生成できます。
リンクの書き方としては

.html
<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の環境を持っていない方のために、変換ツールを作成しました。

こちらも併せて使用してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?