ページリストブロックのforeach中で、Page::getByIDは使えない?

2015年10月23日 at 15:27

5.7.5.2です。
ページの中に、Page Attribute Selectorアドオンで付与した、他のページ情報があります。
ページ属性の中身自体は、他のページのcIDが入っているだけですが、
これを引っ張ってきて、foreachの中で回すページ情報に紐付いた他のページタイトルや属性を表示させたいです。

foreachの直前で


$relavant_cid = $page->getCollectionAttributeValue('relavant_page');
$relavant_page_name = Page::getByID($relavant_cid)->getCollectionName();
$relavant_page_area = Page::getByID($relavant_cid)->getCollectionAttributeValue('area');


としていますが、
syntax error, unexpected '$relavant_page_name ' (T_VARIABLE)

というエラーになります。

ちなみに、ページリストブロックは冒頭のほうで
$c = Page::getCurrentPage();

とありますが、これが宣言してあると、二度使えないとか、そういうことでしょうか?

タグ:

Re: ページリストブロックのforeach中で、Page::getByIDは使えない?

2015年10月23日 at 15:50
2行目の $relavant_page_name は $relavant_cid の誤りではありませんか?
 

Re: ページリストブロックのforeach中で、Page::getByIDは使えない?

2015年10月23日 at 15:55
おっと、失礼しました。
おっしゃる通りですが、実際には$relavant_cidと記載しております。
(ややこしいので、↑元記事あとで編集します。)
 

Re: ページリストブロックのforeach中で、Page::getByIDは使えない?

2015年10月23日 at 16:49
すいません!!!
とーっても恥ずかしい自己解決です!!!

上記例には記載してませんでしたが、コメントアウトの直前に全スペが入ってたのがエラーの原因でした…

ほんっと、お恥ずかしいです!!!

というわけで、ページに紐付けたページ(関連ページなど)を作りたい場合はPage Selector Attributeアドオンを使えば良い、それはcIDで返ってくるということと、
デバッグをするときは【不可視文字に注意】!

ということがみなさんの何かのお役に立てば幸いです…

鎮火現場からは以上です。