<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=211808849452561&amp;ev=PageView&amp;noscript=1">

HubSpotの基本的な使い方から現場ベースのナレッジまで、HubSpotに特化して情報をご提供します。
どんどんコンテンツを追加していきますので、ご期待ください!

  1. Penseesトップ
  2. How to HubSpot
  3. HubSpotのcontent_by_id()関数で変数を渡せない場合
CMS

HubSpotのcontent_by_id()関数で変数を渡せない場合

HubLには、IDからページのさまざまな情報を取得できるpage_by_id関数という便利な関数があります。

page_by_id関数はウェブサイトページの情報しか取得出来ないのに対し、ウェブサイトページ・ランディングページ・ブログポストどれでも情報を取得できるcontent_by_idという関数が追加されました。ベストプラクティスはpage_by_idではなくcontent_by_id関数の使用になります。

しかし当然ながら括弧内に数値型(number, BigDicimal辺り)しか許容しないので、渡している値が文字列とかだとエラーを吐きます。なので、

page_by_id(hoge|round)

と、roundフィルタでキャストしてあげる必要があります。

roundフィルタで数値型にキャストすると、エラーが解消された様子
roundフィルタで数値型にキャストすると、エラーが解消された様子

記事更新時現在はもう解消されたようなのですが、昔カスタムモジュールのページセレクターを使うと、なぜかページIDが数値ではなく文字列で返って来ていたのですよね。なので、こんなひと手間が必要な時代があったのでした。

他のキャスト(って言って良いのか微妙なものもありますが…)用フィルタも含めた一覧は以下の通りです。

  • 文字列→
    • 数値:round(ただし限りなく数値に近い文字列に限る)
    • リスト:split(区切り文字からリストを生成)
    • リスト:list(1文字ずつのリストになります)
  • 数値→
  • リスト→
    • 文字列:join
    • リスト:slice(リストの分割)
    • リスト:split(リストの分割)
    • リスト:union(リストの結合)
    • リスト:unique(重複がないよう抽出)

MAIL NOTIFY

パンセへのご相談はこちら