取得した複数のブログ記事を日付順にならべたい
tomato > 取得した複数のブログ記事を日付順にならべたい @ 2015/8/24 18:08 |
---|
Feedプラグインを利用すると確かに簡単に複数ブログの記事が新着順に取得できたのですが、
Feedプラグイン上のテーマファイルで扱える記事一覧情報($items)には”eye_catch”など記事情報がなかったので、 他の方法を考えています。 添付の画像のような記事一覧をつくりたいです。
と記述すると思った通りのデザインにはなったのですが、ブログ内での新着になるので、 4つのブログをまぜた新着順にしたいです。 他の方のサンプルコードで試したのですが、すいません。PHPが詳しくないので、 An Internal Error Has Occurred. となってしまいました。 http://forum.basercms.net/modules/newbb/viewtopic.php?topic_id=1899&forum=5#forumpost7124 こちらの記事を参考にさせていただきました。 どこがおかしいのか、教えていただけますでしょうか? 以下エラーとなってしまったコード。
お手数ですが、よろしくお願いします。 スマートURL: OFF |
tecking > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/24 20:06 |
---|
tomatoさん
未検証で恐縮ですが……
の array() 内は数値でないといけないのでは、と思います。 管理画面の[ブログ管理]−[ブログ一覧]に表示の「ブログアカウント」でなく「NO」の数字を入れて試してみてください。 |
tomato > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/25 14:34 |
---|
ご返信ありがとうございます。
いただいた通り、数値にしてみたのですが、こちらも エラーとなってしまいました。。。 すいません。 よろしくお願いします。 スマートURL: OFF |
tecking > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/25 23:29 |
---|
ちょっと検証してみました。
の上に
の1行を入れてみてはどうでしょう? |
tomato > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/26 11:39 |
---|
ご返信ありがとうございます。
試してみたのですが、 An Internal Error Has Occurred. となってしまいました。、、、 トップページに表示したいので、 固定ページ情報編集:Indexの エディターをソースコードにして、そこに入力しているのがいけないのでしょうか? ※あまり関係ない気はしますが、、、 すいません。お手数ですが、よろしくお願いいたします。 以下、試したコードです。
スマートURL: OFF |
tecking > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/26 13:43 |
---|
うーん……ちょっと原因が見えなくなってきましたね……
原因切り分けのため、いったん今回挿入した一連のコードを削除してみて、それでもエラーが出るか確認されてはいかがでしょう? コードをあれこれいじっているうちに、意外なところを間違って削除してしまっていたり、逆に重複する記述が出てしまったりしてるかもしれません。 |
tomato > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/26 14:25 |
---|
ご返信ありがとうございます。
すいません。ちょっと記載の仕方が悪くて、、、 エディター内に記載のタグに関しては、毎回、全部入れ替えているので、 添付のような感じで、質問に記載しているタグしか記載がないのですが、 エディター内にPHPを記載するのにあたって特有の規定とか、 何かあるのかなぁとか思ったりしたので、、、 お手数ですが、よろしくお願いいたします。 スマートURL: OFF |
tecking > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/26 15:32 |
---|
なるほど。記事の編集画面を「ソース」に切り替えて貼り付けられたのですね。
元のトピックである 複数のブログの記事情報をテーマ上のPHPで取得してHTMLとして出力したい http://forum.basercms.net/modules/newbb/viewtopic.php?topic_id=1899&forum=5#forumpost7124 の中に
とあるので、そもそも記事本文に貼り付ける想定のコードではないようです。 (試しに記事本文の「オプション」欄にも貼り付けてみましたが、やはりFatal Errorが出ました) このコードを生かしつつ、トップページにだけ表示するようにするなら、/app/webroot/theme/{使用中のテーマ}/Layouts/default.php を開いて、baserCMSの関数 isHome() で切り分けるのも一案かと思いますが、それだと不都合があったりするでしょうか?
《関連Wiki》 関数リファレンス/BcBaser isHome |
tomato > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/27 12:22 |
---|
ご返信ありがとうございます。
default.php に以下を記載してみましたところ、エラーとはなりませんでしたが、 何も表示されませんでした。
= new BlogPost();をはずし、以下としてもやはり 何も表示されませんでした。
引数の順番とか、指定に抜けとかがあるのでしょうか? すいません。PHPがわからないので、お手数ですが、教えていただけますと幸いです。 よろしくお願いします。 スマートURL: OFF |
tecking > Re: 取得した複数のブログ記事を日付順にならべたい @ 2015/8/27 13:49 |
---|
tomatoさん
お示しのコード(一部改変しました)だけでは、「もしトップページが表示されているなら、複数ブログの記事を横断して日付順で3件取得する」までの処理しかしないので、取得したデータを表示するためのコードが必要となります。 元トピックである 複数のブログの記事情報をテーマ上のPHPで取得してHTMLとして出力したい に示されている後半のコード「例)記事情報をアイキャッチ画像付きでループ」を、上記の
の上に挿入すれば表示されるかとおもいますので、一度試してみてください。 (実際には、表示された記事タイトルなどに対して適宜CSSで装飾する必要がありそうですが) |