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

新着情報の表示を画像有版なし版と使いたい(blogPosts)

NEEZ > 新着情報の表示を画像有版なし版と使いたい(blogPosts) @ 2012/2/9 22:05
初めて投稿しております、宜しくお願い致します。

ページにブログの新着を表示したい時に
使用する関数ですが、

●画像有の新着
例 blogPostsPhoto('news', 3) ?>

●通常の新着(デフォルト)
blogPosts('news', 3) ?>

新着に画像表示する方法は過去の投稿から、
foreach($posts as $key => $post):内で
$blog->getPostImg($post);
により取得できる事が分かりましたが、2つを使い分けするにはどのようにしたらいいのでしょうか?

何卒宜しくお願い致します。



■ BaserCMSのバージョン:1.6.15
■ レンタルサーバー名:専有サーバ root権限有
■ スマートURLの利用: [ON]
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [MySQL]
■ PHPスキル(自己評価): [ C ]
goichi > Re: 新着情報の表示を画像有版なし版と使いたい(blogPosts) @ 2012/2/12 22:46
こんにちは〜、通りすがったので返信してみています。
(ご希望通りの回答でなかったらすみません・・・・。)

>2つを使い分け
これはつまり、
例えば「画像有りの新着一覧」と、「画像無しの新着一覧」というふうに、
新着情報(news)を表示する箇所がサイト内に2ヶ所あるというようなイメージですよね。
(違いますか?違ったらごめんなさい。)

だとしたら、(実際に試してないのですが・・・)、
blogPostには第3引数でテンプレートを指定できる箇所があったように思います。
http://basercms.net/reference/archives/90)
そこで、
画像有りのテンプレート($blog->getPostImgを使ったもの)と、
画像なしのテンプレートを2つ用意して、
状況に応じて読み込むテンプレートを変更することで対応できないでしょうか?


お役に立てなかったらごめんんさい。
NEEZ > Re: 新着情報の表示を画像有版なし版と使いたい(blogPosts) @ 2012/2/15 19:18
goichi様

ありがとうございます!
引数でのテンプレート指定を試してみたいと思います!


NEEZ > Re: 新着情報の表示を画像有版なし版と使いたい(blogPosts) @ 2012/2/15 20:09
goichi 様

app/webroot/themed/{テーマ名}/blog/thumbnail/posts.ctp
を準備して、表示させたいページへ
blogPosts('news_company', 3,array('template'=>'thumbnail')) ?>
を記述したところ
エラー : リクエストされたアドレス '/admin/pages/edit/1' はこのサーバにありませんでした。
というエラーがでてしまいました。
原因はわかりますでしょうか???

何卒宜しくお願い致します。

※テーマ名はオリジナルで作成しております
arata > Re: 新着情報の表示を画像有版なし版と使いたい(blogPosts) @ 2012/2/15 20:40
ちょっと通りますよ。。。NEEZさん、こんにちは!

テンプレート名を posts で用意されてるので、この場合、第3引数のテンプレート指定は不要です。
※指定なしのデフォルトでは posts.ctp が使われます。

app/webroot/themed/{テーマ名}/blog/thumbnail/posts.ctp を
app/webroot/themed/{テーマ名}/blog/thumbnail/thumbnail.ctp として作成している場合には必要になる指定の仕方ですね。

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

goichi > Re: 新着情報の表示を画像有版なし版と使いたい(blogPosts) @ 2012/2/15 23:54
NEEZさん、arataさん、こんにちは〜(^^

arataさんのおっしゃっている事が正解だと私も思いますが、まずは以下の点を確認してみてください。

管理画面のブログの基本設定で、「コンテンツテンプレート名」が「thumbnail」になっているでしょうか?(レイアウトテンプレートではありません。) もしも、「default」のままになっているならば、新たに作成されるCTPファイルは「app/webroot/themed/{テーマ名}/blog/default/」配下に置くことになります。

ですので、例えば
blogPosts('news_company', 3,array('template'=>'thumbnail'))
で呼び出す際は、以下のようになると思います。

・コンテンツテンプレートが「default」の場合
「app/webroot/themed/{テーマ名}/blog/default/thumbnail.ctp」

・コンテンツテンプレートが「thumbnail」の場合
「app/webroot/themed/{テーマ名}/blog/thumbnail/thumbnail.ctp」


いかがでしょうか? 一度お試し下さい(^^

NEEZ > Re: 新着情報の表示を画像有版なし版と使いたい(blogPosts) @ 2012/2/16 0:10
arataさん
goichiさん

ご返答ありがとうございます!

まさにご指摘の通りでした。
関数リファレンス(http://basercms.net/reference/archives/90%EF%BC%89)
のコンテンツテンプレート名(default)とテンプレート名(thumbnail.ctp)
を勘違いしておりました。。。

●実装結果
・コンテンツテンプレート「default」
app/webroot/themed/{テーマ名}/blog/default/posts_thumbnail.ctp
を置いて、表示したいページで以下のように記述することで実装できました。
blogPosts('news', 3,array('template'=>'posts_thumbnail')) ?>
arata > Re: 新着情報の表示を画像有版なし版と使いたい(blogPosts) @ 2012/2/16 14:12
NEEZさん、解決して良かったです〜ヽ(・∀・)ノ
これからもbaser楽しんで触ってくださいね!

goichiさん、大変丁寧な追加解説ありがとうございました!

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

ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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