Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8945

Kintoneのテーブルを表にしてkMailerで送信する

$
0
0
きっかけ 仕事でタイトルのようなことがやりたいと言われ、krewData等のプラグイン導入を考えましたが、プラグインをやたらめったら使うのが好みではないので、自分でやってみました。ら、ほぼほぼやりたいことはできたのですが、困ったこともあるので、最後に書きます。 kMailerに渡すデータ もともと別アプリに持っているデータを関連データで引っ張ってきてメインのアプリに表示しており、そのデータをHTMLメール文面に記載したかったのですが、kMailerは関連データに対応していないので、データをこねくり回してメインアプリのサブテーブルに突っ込みました。 kMailerでテーブルを本文に挿入すると テーブルのフィールドコードは「テーブル」です。 表示したい項目は、「対象日付」「申請種別」「経路」 です。 kMailerのメールテンプレート編集画面で「テーブル」を本文に挿入すると、こんな感じに表示されました。 {{#テーブル}} {{対象日付}}, {{申請種別}}, {{経路}} {{/テーブル}} このままHTMLとして保存し、プレビューするとこんな感じ 複数行データを出すことができました! テーブルのような見た目で表示したかったので、以下のようなHTMLを書きました。 CSSはすべてインラインで書くことになります。 # ここは項目名(ラベル) <ul style="display:table; margin-block-start: 0 !important; margin-block-end: 0 !important; color: #fff;"> <li style="display:table-cell; width: 75px; border-style: solid; border-width: 1px; border-color: white; text-align: center; vertical-align: middle; background-color: #3498db;">対象日付</li> <li style="display:table-cell; width: 75px; border-style: solid; border-width: 1px; border-color: white; text-align: center; vertical-align: middle; background-color: #3498db;">申請種別</li> <li style="display:table-cell; width: 75px; border-style: solid; border-width: 1px; border-color: white; text-align: center; vertical-align: middle; background-color: #3498db;">経路</li> </ul> {{#テーブル}} <ul style="display:table; margin-block-start: 0 !important; margin-block-end: 0 !important;"> <li style="display:table-cell; width: 75px; border-style: solid; border-width: 1px; border-color: white; text-align: center; vertical-align: middle; background-color: #eee; padding: 10px 0;">{{#&digsep}}{{対象日付}}{{/&digsep}}</li> <li style="display:table-cell; width: 75px; border-style: solid; border-width: 1px; border-color: white; text-align: center; vertical-align: middle; background-color: #eee; padding: 10px 0;">{{#&digsep}}{{申請種別}}{{/&digsep}}</li> <li style="display:table-cell; width: 75px; border-style: solid; border-width: 1px; border-color: white; text-align: center; vertical-align: middle; background-color: #eee; padding: 10px 0;">{{経路}}</li> </ul> {{/テーブル}} {{#テーブル}}{{/テーブル}}の中身が繰り返し表示されます。 項目名は挿入されないので、自分で付ける必要があります。 Tableタグでくくる方法も考えましたが、くくってもkMailerによってHTMLが編集されるので、くくれませんでした。なのでulとliでテーブル風にしています。 このHTMLを保存して、実際にメールを送信すると以下のようになります。 やりたいことはほぼできた、けどちょっと困ったこと 枠線に色を付けず、background-colorで見やすくしました。テーブルの行数が可変なのでインラインのCSSで1pxずつの枠線を引く方法がわかりませんでした。が、これはこれで良いので良しとします。 ulについている、margin-top-startとmargin-top-end、margin-bottom-startとmargin-bottom-endを!importantで消したのですが、受信メールでは復活していました。(Kintoneでプレビュー時には消えてたのに…)Gmailが復活させているのでしょうか?謎です。 ulのmarginだけ解決できればワタシ的には完全に満足です。 ていうかそもそもul/li以外で表を表現する方法があるのかもしれない…? どなたかアドバイスあればぜひコメントお願いします。

Viewing all articles
Browse latest Browse all 8945

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>