質問するログイン新規登録
CakePHP

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

Q&A

解決済

1回答

1402閲覧

cakePHPでタイトル変更ができない

zdsrteaer5hyseh

総合スコア13

CakePHP

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

0グッド

0クリップ

投稿2019/07/10 12:27

0

0

cakephp入門者です。

デフォルトのレイアウトのタイトルを変更したいのですができません

$this->set('title', '記事一覧');

をよんでもタイトルが変更されず、

$this->assign('title', '記事一覧');

を呼ぶと【Call to undefined method App\Controller\~Controller::assign() 】とエラー出ます。
このエラーに関してはそもそもググっても同じような症状の質問がみつかりません

1.コントローラからのタイトル変更方法
2.$this->assign()呼ぶとエラーが出る症状の改善方法

を教えてください。

呼び出した位置が悪いんですかね?アクション名のメソッド内の一番最初の行で呼び出してるんですが

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

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

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

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

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

yukikp

2019/07/10 13:24

setやassignメソッドはどこでも使えるメソッドですか?
yukikp

2019/07/10 13:27

コントローラーで、ビューで使える変数にタイトルをセットしてあげて、ビュー側でその変数をタイトルにassignしてあげれば良いとおもいます。
yukikp

2019/07/10 13:33

また、ビューの$thisと、コントローラーの$thisは全く別物です。 同じ「ルール」と言う名前でも、サッカーのルールと野球のルールが違うのと似ています。野球のルールではボールを手で触れて良いからと言って、同じ「ルール」の名称だからと言ってサッカーの「ルール」でも、ボールを手で扱っていいように改善するなんて無茶ですよね。
guest

回答1

0

ベストアンサー

Controller側

PHP

1public function index() 2{ 3/* 45*/ 6 $title = 'This is hogehoge page title'; 7 $this->set(compact('title')); 8}

View側1(例:index.ctp)

PHP

1<?php $this->assign( 'title' , $title ); 2?>

View側2(例:Layouts/default.php)

PHP

1<title> 2SITE HOGEHOGE&gt;<?php echo $this->fetch('title'); ?> 3</title>

投稿2019/07/10 23:33

yukikp

総合スコア797

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問