【環境情報】
・baserCMSのバージョン:4系
・レンタルサーバー名:xserver
・使用テーマ:カスタムテーマ
・PHPスキル(自己評価):D
ver4/関数リファレンスを見てもそれらしきのを見つけられなかったのでここでお伺いしたいんですが、それぞれのブログ機能で「今、何件記事が投稿されているか」を出力できるタグはbaserCMSにはあるのでしょうか?
ブログ機能ごとに「現在イベント情報は◯件記事があります。」とか「施工事例が◯件あります」みたいな動的な記事の件数表示をしたいのですが。
どなたかご教授頂けたらと思います。よろしくお願いいたします。
ryota
2
この記事を参考にしていただければ記事件数は取得できるかと思います。
https://wiki.basercms.net/複数のブログの記事を混ぜて取得してテーマ上でカスタマイズしたい
<?php
/* ブログIDで取得したいブログを指定 */
$BlogPost = ClassRegistry::init('Blog.BlogPost');
$posts = $BlogPost->find('all', array(
'conditions' => array_merge($BlogPost->getConditionAllowPublish(), array(
'BlogPost.blog_content_id' => array(1) //取得したいblogIDをカンマ区切りで指定
)),
'limit' => 1000,
'cache' => false
));
var_dump(count($posts)); //$postsは適宜変更してください。
?>
この方法より適した簡単な方法があるかもしれませんが。。。
「いいね!」 2
ありがとうございます!試してみます!
m(_ _)m
ありがとうございました!
やりたかったことが実装でき、助かりました!!!!
m(_ _)m
お世話になっております。
一点お伺いしたいんですが、今回教えていただいたphpでの出力を挿入したい箇所が3つありまして、
その内二箇所はphp側にソースを書いていたので問題なく希望通りの出力を得ることができたのですが、
残りの一つは管理画面側からBurger editorにて投稿してあるページでしたのでPHPを書くことができなかったのですが、教えていただいたようなPHPを(ショートコードなどで)Buger editor内に挿入する方法はありますでしょうか?
調べても
このような感じのTipsしか見つけれなかったのですが、よく意味がわかりませんでした。
何か管理画面内にPHPを挿入する手法があればご教授いただけないでしょうか。
m(_ _)m
ryota
6
一応件数を表示させる程度のことであれば、gitを参考にしていただければ大丈夫です。
まず、ディレクトリ直下のapp/Config/setting.phpに以下を挿入
$config['BcShortCode']['Example'] = [
'Example.methodName'
];
次にテーマ内のHelperにExampleHelper.phpを作成し、以下を挿入。
class ExampleHelper extends AppHelper {
public $helpers = ['BcBaser', 'BcHtml'];
public function methodName($id = null) {
$BlogPost = ClassRegistry::init('Blog.BlogPost');
if($id) {
$posts = $BlogPost->find('all', array(
'conditions' => array_merge($BlogPost->getConditionAllowPublish(), array(
'BlogPost.blog_content_id' => array($id)
)),
'limit' => 1000,
'cache' => false
));
return count($posts);
}
return;
}
}
あとはショートコードで
[Example.methodName 1] 件などとしていただければバーガーエディターでもいけるかと思います。
引数はブログIDに変更してください。
ファイル名やクラス名などは環境に合わせて変更してください。
また、複数ブログをまたいでの取得は行えません。
ご返事ありがとうございます。
やってみます!!m(_ _)m
ありがとうございました!!!!!
実装できました!!!!助かりました!!!
今後ともよろしくお願いいたします!
m(_ _)m