質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

1回答

615閲覧

cakephpでカテゴリのブログ記事のタイトルだけを取り出してトップページに一覧表示したい。

HirokiTomimura

総合スコア26

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

1グッド

1クリップ

投稿2020/03/12 15:35

前提・実現したいこと

cakephpでWEBサイトを作っています。
(正確には今は開発が終了しているBAKEDというシステムを長年使用しています。)
今回、リニューアルを行いたくてcakephpを勉強し始めたところです。

そこでやりたいことですが

ブログのタイトルのみをトップページに一覧表示したいです。

例えば

トップページ

「今日の特価品の紹介」
「@@@@@@@」
「▶〇〇〇〇」

ブログもいくつも作っているので、特定の各カテゴリのブログ記事のトップ5づつを表示したい。

■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

cakephp2

試したこと

View - Layouts - default.ctp
を色々といじっています。

補足情報(FW/ツールのバージョンなど)

情報が足りないところは補足したいと思いますので、どうぞ教えてください。
よろしくお願いします。

s.k👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HirokiTomimura

2020/03/14 05:09 編集

そうですね、しかし6年更新無しで、今は予備校のHPとなっていました涙
guest

回答1

0

基本的には View に与える Model をどう設定するかだけの話です。

Controller でブログを抽出し、その結果(Model)を、View に $this->set() を使って渡してやります。
View 側では受け取ったModel を元に foreachでもして表示してください。

なお、Template/Layouts/default.ctp は「全画面で共通のレイアウトを指定するテンプレート」なので、今回の質問の趣旨で弄る対象としては誤っています。
※例えばヘッダ・フッタとか、共通で使用する css や javascript の読み込みとかを記述するためのものです

投稿2020/03/13 00:28

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HirokiTomimura

2020/03/14 04:56

回答ありがとうございます。 そうなんですね、default.ctpではなかったんですね。 Controller でブログを抽出し、その結果(Model)を、View に $this->set() を使って渡してやります。 View 側では受け取ったModel を元に foreachでもして表示してください。 実際にはどのようなふうにすればよいのでしょうか? すみません、簡単な具体例を教えてくださいませんでしょうか?
tacsheaven

2020/03/15 01:49

CakePHP のクックブック(https://book.cakephp.org/2/ja/index.html)を読むのが一番早道でしょう。 なにせブログチュートリアルもありますから。 なお CakePHP は現在 4.0 まで上がっている(2度のメジャーバージョンアップ)ので、せめて 3.8 で作り直すことをお勧めします。 ※4.0 は 3.x とテンプレートの置き方などが異なっていて、日本語マニュアルが完全に追随し切れていません。また PHP 7.2 以上を要求しています。古い環境で動かす場合は(それでも PHP 5.6 は要りますが) 3.8 の方がよい感じです。
HirokiTomimura

2020/03/16 09:54

どうもありがとうございます。 クックブックを読んでやってみます。 バージョンなども含めてやってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問