はい、動作します。もともとはページタイプ内の出力側に置いていたものです。
テンプレート側を調べましたが、
$includeEntryText
$includeName
…
といったような値が何も返ってきていないようです。でも、ソース内でforeachしている数はあっています。拾ってくるページの数はあっている、ということです。
ページテンプレートにブロックを埋め込むには
2020年7月5日 at 18:30
https://concrete5-japan.org/help/5-7/developer/working-with-blocks/working-with-existing-block-types/embedding-blocks-in-a-page-template/
こちらの記事を参考に、page_listをページテンプレートにハードコーディングしようとしましたが、どうしてもうまくいきません。
$pt = PageType::getByHandle('自作のページタイプ名');
$bt = BlockType::getByHandle('page_list');
$bt->controller->ptID = $pt->getPageTypeID();
$bt->controller->orderBy = 'display_asc';
$bt->controller->num = '20';
$bt->controller->includeName = true;
$bt->render('templates/自作のリストテンプレ');
ここまではなんとかたどりつきました。なんとなく動作していて、テンプレも読み込んでいて、表示数も確かに記事の数分liリストができあがるんですが、liタグまで入ってきても中身が何も入ってきません。どなたかご教示いただけますでしょうか。どうぞよろしくおねがいいたします。
タグ:
Re: ページテンプレートにブロックを埋め込むには
2020年7月5日 at 21:13
> はい、動作します。もともとはページタイプ内の出力側に置いていたものです。
> テンプレート側を調べましたが、
> $includeEntryText
> $includeName
なるほど・・・。それはちょっと気になりますね・・・。
boolean の値がうまく引き渡らず、
view だけで使う変数であれば、 set() で view に渡してあげるのはどうでしょうか?
例
$bt->controller->set('includeEntryText', true);
で試していただけますか?
あと、ちょっと話がずれてしまうかもしれませんが、
該当ブロックテンプレートを、テーマ埋め込み専用で使うのであれば、
$includeEntryText の設定を無視し(if を取り除い)て説明が表示されるように view 側を修正してもいいかなーと思います。
> テンプレート側を調べましたが、
> $includeEntryText
> $includeName
なるほど・・・。それはちょっと気になりますね・・・。
boolean の値がうまく引き渡らず、
view だけで使う変数であれば、 set() で view に渡してあげるのはどうでしょうか?
例
$bt->controller->set('includeEntryText', true);
で試していただけますか?
あと、ちょっと話がずれてしまうかもしれませんが、
該当ブロックテンプレートを、テーマ埋め込み専用で使うのであれば、
$includeEntryText の設定を無視し(if を取り除い)て説明が表示されるように view 側を修正してもいいかなーと思います。
Your post has been saved and will be published after approval by the forum moderator.
Katz Ueno
Re: ページテンプレートにブロックを埋め込むには
自作のリストテンプレートは正常に動きますか?
ページリストブロックを普通のエリア上に置いて、表示確認をするときちんと表示されますか?
それでも表示されていないのであれば、カスタムテンプレート(ブロックテンプレート)側で問題があると思います。