トップページにブログ記事を載せたい

いつもお世話になっております。
Webサイトのトップページにブログ記事を載せたいのですが、トップページからではBlogHelperが使用できないようでブログの記事を取得できません。
BcBaser->blogPosts()を使ってみましたが、中身が空の配列が返ってくるようでした。
トップページに下記記事を載せる方法をご存じでしたらお教えいただけないでしょうか。

載せたい記事

  • 新着記事数件
  • ID指定でピックアップした記事数件

宜しくお願い致します。

こんにちは
以下のコードで、何も表示されないでしょうか?
ブログ名が正しいか、記事が公開状態になっているかご確認ください。

<?php $this->BcBaser->blogPosts(【ブログ名】) ?>

新着記事数件を表示したい場合は

<?php $this->BcBaser->blogPosts(【ブログ名】, 【表示件数】) ?>

ID指定でピックアップした記事数件を表示したい場合は

<?php $this->BcBaser->blogPosts(【ブログ名】, 【表示件数】, ['postId' => [【ブログ記事ID1】, 【ブログ記事ID2】]]) ?>

で表示できます。

1 Like

早速の返信ありがとうございます。

お教えいただいた方法を試したところ、トップページにブログ記事を載せることができました。
先日試したときは何かしら間違った指定をしていたのかもしれません。お騒がせ致しました。

ただ、プラグイン内のElementで呼ぶと下記エラーが出てしまいました。
プラグイン内で呼ぶ場合に行わないといけない設定などありますでしょうか?

エラー: SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous

Elementを置いてあるフォルダ

html/app/Plugin/(プラグイン名)/View/Elements/

テーマからプラグインのエレメントを読み込んで、プラグインのエレメントからblogPostsを呼び出すというのを試してみましたが、問題なく動作しました。

エラーが発生しているファイル名と行数はわかりますでしょうか。

申し訳ございません、こちらプラグインのヘルパー内で記事をピックアップする処理が原因のようでした。
ヘルパー内でBlogPostからid指定でfindする処理を行っているのですが、その際にidが正しく判断できなかったようです。
blogPosts()は問題なく呼ぶことができました。
大変お騒がせ致しました。。。

1 Like