カテゴリ実装例ブログ

ドラッグ&ドロップエリアがあるテンプレートとそうでないテンプレートを差し替える方法

作成者: 半田 惇志|Jul 28, 2021 3:00:00 PM

フレキシブルカラムの後継(とは言え、フレキシブルカラムも現役ですが)としてリリースされたドラッグ&ドロップエリア(以後d&d)の仕組みは非常に便利です。しかし、これが使われているテンプレートと使われていないテンプレートは互換性がなく、例えば

  • d&dを使ったテンプレートから生成しているページを、d&dを使っていないテンプレートに差し替えたい
  • 上記の逆でd&dを使っていないテンプレートから生成しているページを、d&dを使ったテンプレートに差し替えたい

と言う場合、いずれもテンプレートを差し替えることができません。これはドキュメントにも明記されている仕様です。しかし、どうしても「ページはそのままでテンプレートを差し替えたい」という場面はあると思います。

その場合は、d&dを使っていないテンプレートに、一時的にd&dのコードを埋め込むことで解決します。

{% dnd_area "unique_name" %}
{% end_dnd_area %}

要はd&dのコードを埋め込むことで互換性が生まれるので、テンプレートを差し替えて元に戻す、という方法ですね。これができるだけで一気にラクになることもありますので、覚えておいて損はないでしょう。

余談ですが、ここで新しくページ作ったりすると、当然別のIDを持った別物のページが出来上がります。仮にURLを元のものにしたとしても、HubSpot内での解析情報は引き継がれず、また他の箇所からページ指定でリンクを張っている箇所は全て参照エラーとなります。基本、一度作成したページを非公開にして、新しく作ったページで元のURLで公開する、みたいなやり方は禁忌です。