■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

ブログ記事の読み込み

mittsuda > ブログ記事の読み込み @ 2012/7/12 18:56
自分で作ったindex.htmlへブログの記事を表示させようと思い、
下記のソースを貼ったところ、「baserCMS NEWS」は表示するんですが・・・

<div class="clearfix" id="news">
	<div class="news" style="margin-right: 28px">
		<h2 id="newsHead01">
			NEWS RELEASE</h2>
		<div class="body">
			<?php $bcBaser->blogPosts('news', 5) ?></div>
	</div>
	<div class="news">
		<h2 id="newsHead02">
			baserCMS NEWS</h2>
		<div class="body">
			<?php $bcBaser->js('/feed/ajax/1') ?></div>
	</div>
</div>


「baserCMS」はjsを読みにいってるようですが、
ブログ記事の「NEWS RELEASE」はjsで読み込むことはできますでしょうか?
初歩的な質問で申し訳ないです。よろしくお願いします。


■ BaserCMSのバージョン:2.0.2
■ レンタルサーバー名:sakura
■ 利用しているデータベース:CSV
■ PHPスキル(自己評価): 全くわからない
goichi > Re: ブログ記事の読み込み @ 2012/7/12 22:51
こんにちは(^^

今回、「ブログは表示しない」けれど「baserCMSニュースは表示する」という問題ですね。
そして、ブログの表示に
<?php $bcBaser->blogPosts('news', 5) ?>

を使っていて、「baserCMSニュース」の表示には
<?php $bcBaser->js('/feed/ajax/1') ?>

が使われている状況ですよね。

とりあえず「baserCMSニュース」の表示も、ブログの表示も、
上記の通り、PHPコードを使っていますので、
どちらか片方でも表示されるということは、PHP自体は動いているし、
baser関数も動いている状態なのだと思います。

その上で、いまブログの方が表示されないとなると、
関数(ヘルパー)の使い方や引数(括弧の中身)が間違っているなどの問題が
まずは考えられる気がします。

例えば
<?php $bcBaser->blogPosts('news', 5) ?>

というコードは、「ブログの中で”news”という名前のついたブログの記事を5件だけ表示する」というものです。
baserCMSは複数のブログを設置でき、その名前も「news」以外に変更できますので、
もし、あらたに作ったブログや、「news」以外の名前を使っていらっしゃるならば、
上記コードでは表示されません。

また、ブログの新着表示部分は、
ブログプラグインの「posts.php」というファイルで提供されています。
ここの処理を間違えたり、ここでエラーが起きても、表示されなくなると思います。
(エラーかどうかの確認は、管理画面のシステム管理から「制作・開発モード」をデバッグモードにすると
エラーメッセージが表示されるようになります。)

最後に
引用:
ブログ記事の「NEWS RELEASE」はjsで読み込むことはできますでしょうか?

という事ですが、feedプラグインを利用すれば可能だと思います。(デフォルトでインストールされています)
(プラグイン管理から「feed(フィードリーダー)」を選んで、新規フィードの登録をし、
そのフィードに対して「フィードを追加」で、新着情報のRSSを登録します。
RSSはスマートURLを使っているかどうかで一部アドレスが変わりますが、
新着情報のページのソース中に書いてあるはずですので、そこを見れば確実です。)

分かりにくい説明かもしれませんが(汗、
上記の件、一度お確かめ下さい。(^^





mittsuda > Re: ブログ記事の読み込み @ 2012/7/13 12:57
早速の返信ありがとうございます。
ここまでやってみたことを書き込みします。

以前のバージョン(1.6.X)を使ったことがあるので、探し出してきましたが、
その際は javascript だったようです。


>関数(ヘルパー)の使い方や引数(括弧の中身)が間違っているなどの問題が
>まずは考えられる気がします。
初期状態から変更はしていませんので、関数は間違っていないと思います。
「固定ページ」のindex.phpでは2つとも表示されております。
表示させたいファイルは「固定ページ」のindex.phpと同じディレクトリにおいております。

>エラーかどうかの確認は、管理画面のシステム管理から「制作・開発モード」をデバッグモードにすると
>エラーメッセージが表示されるようになります。)
デバッグモード1にしてやってみましたが、エラーの表示はなかったです。

rssで読み込むことも検討しておりますが、できればbaser内で解決をしたいところです。
引き続きいろいろとやってみます。
goichi > Re: ブログ記事の読み込み @ 2012/7/13 14:47
どうもです(^^

引用:
表示させたいファイルは「固定ページ」のindex.phpと同じディレクトリにおいております。

設置している具体的な階層はどこになるでしょうか?
自作のファイルなどは「/app/webroot/」内に置くと読み込まれたりしますが、
そうではなくて、「/app/webroot/themed/テーマ名/views/」に自作のファイルを設置し、
テンプレートの読み込みでCSVに入れているという事でしょうか。


引用:
以前のバージョン(1.6.X)を使ったことがあるので、探し出してきましたが、
その際は javascript だったようです。

ですです。フィードプラグインを使いAjaxで読み込んでいたように記憶しています。
その後、確かキャッシュの問題とかあって、ブログはブログヘルパーで取得するようになったと思います。


mittsuda > Re: ブログ記事の読み込み @ 2012/7/13 15:22
お世話になります。

引用:
設置している具体的な階層はどこになるでしょうか?
自作のファイルなどは「/app/webroot/」内に置くと読み込まれたりしますが、
そうではなくて、「/app/webroot/themed/テーマ名/views/」に自作のファイルを設置し、
テンプレートの読み込みでCSVに入れているという事でしょうか。


「/app/webroot/」内においてあり、「/app/webroot/news.php」としてます。
(PHPファイルはDream weaverで作成しました)
↑ここの画像を一緒にアップしておきます。

テンプレートの読み込みについては使用していないです。

初心者的な質問ばかりですみません。

goichi > Re: ブログ記事の読み込み @ 2012/7/13 16:19
どうもです(^^

引用:
「/app/webroot/」内においてあり、「/app/webroot/news.php」としてます。
(PHPファイルはDream weaverで作成しました)
↑ここの画像を一緒にアップしておきます。

ありがとございます。
「/app/webroot/」においたファイルはbaserCMSの機能を引き継がない「単体のPHPファイル」なので、
「$bcBaser」というヘルパーが使えないのだと思います。
(となると「baserCMSニュース」の方はヘルパー以外の方法でjsを呼び出していらっしゃるのでしょうか。。。)

もしかしたら、何か紐付ける方法があるかも知れませんが、
どのみち結構大変だと思います。。。

なので、外部PHPファイル(今回はnews.php)をwebrootに設置しなくてはならない状況なのでしたら、
CSVデータを読み込んで、新着を表示するプログラムを書いたほうが早いかも知れませんね。。。

あまりお力になれませんでしたが、
たぶん、上のような理由で動かないのではないかと思います。




ryuring > Re: ブログ記事の読み込み @ 2012/7/16 21:23
こんばんは。

goichiさんのおっしゃるとおり、webroot 直下に配置したPHPファイルは、baserの管理外のファイルとなるので、ヘルパーが利用できません。

管理外のファイルで簡単にブログ記事を表示する為には、フィードプラグインを利用してjavascriptで読み込む必要があります。

ヘルパーを利用して表示するのであれば、固定ページ機能で作成してはどうでしょうか?
こちらであれば、$baser->blogPosts() が利用できます。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

mittsuda > Re: ブログ記事の読み込み @ 2012/8/1 9:49
goichiさん
ryuringさん

丁寧な回答ありがとうございます。返信送れてすみません。
固定ページを使う方法を試してみたいと思います。

今はRSSを読み込んでブログ記事のタイトル部分を読み込むことにしました。
しかし問題があり、RSSフィールドで読み込んだ記事一覧の各ブログのタイトルリンクが全て
最新の記事へリンクされてしまっていること。

これは RSSフィールド と $baser->blogPosts() で読み込んだ時も同じです。
$baser->blogPosts() は確認のため、index.phpを表示してみました。
ブログのインデックスページでも同じくタイトルからのリンク全てが最新記事へリンクされています。

何か自分のフィールド側の設定の間違えでしょうか?
ryuring > Re: ブログ記事の読み込み @ 2012/8/8 0:46
こんばんは。

引用:
しかし問題があり、RSSフィールドで読み込んだ記事一覧の各ブログのタイトルリンクが全て
最新の記事へリンクされてしまっていること。


仕様的にはあってはいけない状況ですね。
スクリーンショットなどをつけてもう少し詳しい状況を教えて下さい。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ