■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

複数のブログを一覧表示したい

jim > 複数のブログを一覧表示したい @ 2012/8/10 12:04
お世話になります。

現在1つのサイト内に複数のブログを設置していまして、それらを一覧表示したいと考えています。
基本関数にはないようでしたので、PHPのコードで直接表示する方法はありますでしょうか。

以上、よろしくお願いします。

■ BaserCMSのバージョン:2.0.2
■ レンタルサーバー名:FIREBIRD
■ スマートURLの利用:ON
■ 設置フォルダ:ドキュメントルート
■ 利用しているデータベース:MySQL
■ PHPスキル(自己評価):D
goichi > Re: 複数のブログを一覧表示したい @ 2012/8/11 18:41
こんにちは(^^
要はブログが複数あるけれども、一覧にする時にはブログ毎ではなく、
まとめて表示したいという事ですよね。

複数の種類に違うブログ記事でも、保存されるDBは同じだったと思うので、
PHPでデータベースに接続して引っ張ってくるのが良いのではないかと。

<?php
//データベースの利用
$blogPost= ClassRegistry::init('blogPost');
//データの取得(条件は適当に作ってみて下さい)
$postDatas = $blogPost->find('all');
//表示用(リストタグ)
$htmlPrint = '<ul>';
foreach($postDatas as $postData){
$htmlPrint .= '<li>'.$postData['BlogPost']['name'].'</li>';
}
$htmlPrint .= '</ul>';
//表示
echo $htmlPrint;
?>

例えば、上のソースを埋め込んだらブログのタイトルがリスト表示されると思います。
適当にforeach処理内部を変えてリンクを貼れば、OKかもしれません。

ただこのままだと、非公開のものとかも出てくると思うので、
「$blogPost->find('all')」の所に条件を付けると良いと思います。
(このあたりはcakePHPで検索すると山ほど出てくるので、そちらをご参照ください。)

arata > Re: 複数のブログを一覧表示したい @ 2012/8/12 23:54
jimさん、こんにちは!

そういえばないですねー。私もちょい気になったので調べてやってみました。
テーマヘルパを使えば、その時必要な機能を実装しやすいのでその形を例にしてみますね(・∀・)

最初にヘルパ作りまーす。
/app/webroot/themed/THEME_NAME/helpers/demo.php
<?php
class DemoHelper extends AppHelper {
	function getAllBlogs() {

		$BlogContents = ClassRegistry::init('Blog.BlogContent');
		$datas = $BlogContents->find('all', array('order' => array('BlogContent.id')));
		return $datas;

	}
}


テーマの表示したい箇所に以下みたいにして出してみまーす。
<?php $blogs = $demo->getAllBlogs() ?>
<?php if($blogs) : ?>
	<?php foreach ($blogs as $blog) : ?>
		<?php $bcBaser->link($blog['BlogContent']['title'], '/'.$blog['BlogContent']['name']) ?>
	<?php endforeach ?>
<?php endif ?>


。。。と、こんなカタチになりました。
取得したブログ一覧のデータはヘルパ内で加工してしまっても良さそうですね。
参考になれば幸いですんヽ(・∀・)ノ

■ 不明点解消できるかも。逆引きガイドもあります baserCMS公式wiki
■ Twitter:@arata

jim > Re: 複数のブログを一覧表示したい @ 2012/8/13 11:48
arataさん、goichiさん

ご回答ありがとうございます。
教えていただいた内容で無事ブログ一覧を表示することができました。
また、DBからのデータ取得の方法もわかったので、良かったです。

ありがとうございました。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
78 人のユーザが現在オンラインです。 (78 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 78