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

Re: 複数のブログの記事情報をテーマ上のPHPで取得してHTMLとして出力したい

Garyuten > Re: 複数のブログの記事情報をテーマ上のPHPで取得してHTMLとして出力したい @ 2015/6/3 14:18
goichiさん、回答ありがとうございます!
ヘルパーにあると確かに便利ですね!

今回、他の方法を教えてもらって無事解決できました。
テーマファイルなら固定ページに限らずどのテーマファイルに書いても動作する、
テーマ内に直接記述する方法です。

その時のコードを残しておきます。


▼複数ブログ記事の取得(テーマならどこでもOK)

<?php
$posts = $BlogPost->find('all', array(
    'conditions' => array_merge($BlogPost->getConditionAllowPublish(), array(
        'BlogPost.blog_content_id' => array(1,2,4) //blog IDを指定
    )),
    'order' => array('BlogPost.posts_date DESC'), //並び順:日付順
  'limit' => 5 //記事取得件数
));
?>


▼例)記事情報をアイキャッチ画像付きでループ

<?php
if ($posts):
  foreach ($posts as $key => $post):
    //記事のブログnameの取得
    $blogName = $post["BlogContent"]["name"];
    $baseCurrentUrl = "/".$blogName . '/archives/';
    //記事のファイルアップロードディレクトリ
    $baseCurrentImgUrl = "/files/blog/".$blogName . "/blog_posts/";
    //記事のURL
    $postLink = $this->BcBaser->getUrl($baseCurrentUrl.$post['BlogPost']['no'],true);
    if($post["BlogPost"]["eye_catch"]){
      // アイキャッチ画像のパス
      $eyeCatch = $baseCurrentImgUrl . $post["BlogPost"]["eye_catch"];
      // アイキャッチ画像を別サイズで利用する場合は文字列置換
      // $eyeCatch = str_replace(".jpg","__mobile_thumb.jpg", $eyeCatch);
      // $eyeCatch_m = str_replace(".jpg","__thumb.jpg", $eyeCatch);
    } else {
      // アイキャッチが指定されてなかった場合
      $eyeCatch = "/img/no-photo.png";
    }
  ?>
  <div class="post">
    <a href="<?php echo $postLink; ?>">
      <figure>
        <img src="<?php echo $eyeCatch; ?>" alt="">
      </figure>
      <h2><?php $this->Blog->postTitle($post,false) ?></h2>
      <p><?php
      // $post['BlogPost']['content'] //概要
      // $post['BlogPost']['detail'] //本文
      echo $post['BlogPost']['content'];
      ?>
      </p>
    </a>
  </div>
  <?php endforeach; ?>
<?php else: ?>
  <p class="no-data">記事がありません</p>
<?php endif ?>
ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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