COLUMN コラム

2020年2月7日構築

三澤

正しく理解できてる?Sitecoreの「アイテムID」と「アイテム名」

現在LYZONのメインビジネスとなっているSitecoreですが、僕自身も含めLYZONに入るまでは「Sitecoreなんて触ったことも無い」という人がほとんどだと思います。
Sitecoreは高機能なCMSであるが故に、少し直感的に理解しづらい所があります。今回は、その中でも最初につまづきやすい「アイテムID」と「アイテム名」の違いについて解説していきます。

01.
アイテムID

正しく理解できてる?Sitecoreの「アイテムID」と「アイテム名」

アイテムIDは「8桁-4桁-4桁-4桁-12桁の英数字」で構成される、そのアイテム固有の値です。Sitecore内ではこのアイテムIDを「アイテムを特定するキー」として使用します。
Sitecoreはサイト内リンクを張ったアイテムを移動(=URLが変わる)しても新しいリンク先URLに自動で張り替えてくれますが、これもSitecoreがアイテムをアイテムIDで管理していることにより実現できています。

02.
アイテム名

アイテム名もそのアイテムを特定するための値ですが、こちらは「表から見た」アイテムの置き場というような意味合いです。その下にあるアイテムPathがフォルダの構成も含めたパスで、こちらがパブリッシュ後のURLとほぼ同じ構成となります。
注意したいのは、アイテムIDが全アイテムで重複しない固有の値なのに対し、アイテム名は同一の値が許容されています。同じフォルダに同一アイテム名のアイテムが配置された場合、外から見ると「同じURLのアイテムが重複して存在する(結果的にどちらかのアイテムが表示できない)」という状態になってしまうため、注意が必要です。

02.
更新・削除でやりがちなミス

正しく理解できてる?Sitecoreの「アイテムID」と「アイテム名」

この概念を理解していないと、意図した通りのページ更新や削除ができない事態となります。下図は以前の社内勉強会で使用したものですが、

  1. アイテム名「11」のアイテムを削除したかったので、コンテンツエディタで削除
  2. あらためてアイテム名「11」を作成
  3. パブリッシュ

という順番で操作を行ったものの上手く反映されない、という状態を示しています。

起きていることとしては、Web側にアイテム名「11」のアイテムが2つ存在していて、表から見ると先に存在したアイテムIDの末尾「~AD10」のアイテムが有効になっているが、コンテンツエディタ(master側)で操作できるのは末尾「~5CE5」のアイテムなのでパブリッシュしても反映されない、という現象です。
この場合、1.で先に「コンテンツエディタで削除」を行ってしまったのが間違いで、正しくは先に末尾「~AD10」のアイテムをWeb側から削除(パブリッシュ不可にしてパブリッシュ)してから2.と3.の操作を行う必要がありました。
このような状態になってしまった場合、1つ上の階層のフォルダで「サブアイテムを含む形でリパブリッシュ」を行うことで、Web側の状態がコンテンツエディタのアイテムツリーと同じ状態になり、更新が反映されるようになります。

お問い合わせ・資料請求

LYZONにご相談下さい

ご依頼ご質問等まずは私達にお気軽にご相談下さい。

お電話でのお問い合わせ

03-5803-0587平日9:00~18:00