TODO #12056

ブログに公開している記事の総数を取得したい

Added by - 清末直 about 6 years ago. Updated about 5 years ago.

Status:終了Start date:
Priority:通常Due date:
Assignee:ナカエ -% Done:

100%

Category:ブログ
Target version:4.0.5

Description

ブログの公開記事数を取得したいという要望があったので実装。

各ブログ毎(ブログ名指定)、及び全体で取得出来る様にする。
カテゴリ別
getPostsCount($name, $options);
$name = ブログ名
$options sort,その他条件。
とかかなぁ。

とりあず、実装するかの相談。


Associated revisions

Revision 143c16f7
Added by Nextat Inc about 5 years ago

fix #12056 ブログに公開している記事の総数を取得したい (#631)

  • fix #12056 ブログに公開している記事の総数を取得したい
  • array()を略記
  • 変数名調整
  • SQL修正

History

#1 Updated by - 清末直 about 6 years ago

  • Subject changed from BlogContent.php に公開している記事が to ブログに公開している記事の総数を取得したい

#2 Updated by 江頭 竜二 about 6 years ago

実装前にこれってどんなシチュエーションで使いたいかを知りたいですね。
要望元は我流さん??

#3 Updated by - 清末直 about 6 years ago

  • Assignee set to 江頭 竜二

です、TOPページで、ブログ一覧を出したときに、記事数の表示とかですね。

#4 Updated by 江頭 竜二 about 6 years ago

となると、ブログ一覧を出力する関数に、オプションとして実装した方がよいのではないでしょうか?

#5 Updated by - 清末直 about 6 years ago

今回つくった、 $bcBaser->getBlogs(); (ブログ一覧を出力する関数)
にかえる配列に追加するのもかんがえたのですが、一端個別に作った方が汎用性があるかと思いました。
getBlogsには、必要があればあとで内部的にそれを呼び出してマージして拡張する方向もとれるので、一端別にしています。
getBlogsで、all とかで常にcount取られるのも getBlogsが重くなる気がしてます(topにブログ全体とそれに伴うcountが必要な場合はしかたないですが、)
で、本来 getBlogPosts();とかでもcountは取れた方がいい気がしたりとかで、実装、要相談案件かと思いました。

#6 Updated by - 清末直 about 6 years ago

あ、書き漏らし。options に tag別、カテゴリー別とかの条件付けがあれば便利かなーとも思ってます。
ますます、blogPostsに寄ってしまってますが。。。
そうすると一概に、getBlogsにマージしない方がいい気がしました。

#7 Updated by 江頭 竜二 about 6 years ago

我流さんをウォッチャーに追加しました。

我流さんどう思います??

#8 Updated by - garyuten about 6 years ago

どうも!

要望スプレッドシートのID:19の件ですね。

全てのブログの情報。名前、スラグ、URL,記事数、説明文、ID等。
利用イメージ)
HOME等の固定ページに新ブログが追加される度に、各ブログ別のセクションでタイトルや説明文や記事一覧を表示させたい

「ブログに公開している記事の総数」も配列の中で返してくれるなら便利です!!
別関数で取得できるようになるなら、それでもOKです。

もう不要かもですが、使うシチュエーションについてまとめてみました。

  • クライントがブログを自由に増やす
  • HOMEでブログ毎に最新記事を4件ずつ自動的に表示される
  • 表示:ブログタイトル、説明文の表示やブログTOPへのリンク

例)
HOMEに[新着情報]、[スタッフブログ]をそれぞれ最新4件ずつサムネイルを表示していた。

新しい事業ができたのでブログ[新事業]を立ち上げた。
また[イベントレポート]を新たに立ち上げた。

HOMEに自動で追加されるようにしたい

参考) http://www.npo-aip.or.jp/

#9 Updated by - 清末直 about 6 years ago

我流さんの解答だと、templateでラッピングされてない(もしくはtop用のテンプレート)が帰ってくる、blogPosts が必要ってかんじですね。feed plugin併用すればいまでも実装できそうだけど手順的には、

$blogs = $bcBaser->getBlogs('');
foreach($blogs as $val){
  echo 'ブログ名' . $val['name'] . 'の最新の記事5件';
  $posts = $bcBaser->getBlogPosts($val['name'],5, array('sort' => 'modified DESC');
  foreach($posts as $post){
    echo $post['eyeCatch'];
    echo $post['content'];
  }
}
みたいな記載のベースでかけると一番わかりやすいかなと。(ソースはめちゃくちゃです)

BlogBaserHelperに、getBlogPostsがないのも問題だけど、ここのgetPostsCount関係ない・・・・。

さて、落としどころどうしよう。
我流さんが、

「ブログに公開している記事の総数」も配列の中で返してくれるなら便利です!!

ってかいてるので、getBlogs にも総数入るように調整します。
3.1 実装案件ですかねこれ。

#10 Updated by 江頭 竜二 about 6 years ago

やっぱ、getBlogs がよさそうですね。
負荷が少しかかりそうなので、オプションで取るか取らないかを指定できるようにしとくとか。
3.1.0 でいきましょうか。

#11 Updated by 江頭 竜二 about 6 years ago

  • Assignee deleted (江頭 竜二)

#12 Updated by 江頭 竜二 about 6 years ago

  • Target version set to 4.0.0

#13 Updated by 江頭 竜二 almost 6 years ago

  • Target version changed from 4.0.0 to 4.0.1

こちら時間ないんで見送りましょう。

#14 Updated by 江頭 竜二 over 5 years ago

  • Target version changed from 4.0.1 to 4.0.2

#15 Updated by 江頭 竜二 over 5 years ago

  • Target version changed from 4.0.2 to 4.0.3

#16 Updated by 江頭 竜二 over 5 years ago

  • Target version changed from 4.0.3 to 4.0.4

#17 Updated by 江頭 竜二 over 5 years ago

  • Target version changed from 4.0.4 to 4.0.5

#18 Updated by 江頭 竜二 about 5 years ago

  • Category set to ブログ

#19 Updated by ナカエ - about 5 years ago

  • Assignee set to ナカエ -

#20 Updated by Anonymous about 5 years ago

  • Status changed from 担当 to 解決
  • % Done changed from 0 to 100

更新履歴 basercms|commit:143c16f79349a2d1ca838aeb922e57fb18561d68 で適用されました。

#21 Updated by 江頭 竜二 about 5 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF