CakePHP3で /Layout/defult.ctpにある titleタグ、h1タグを編集する方法
CakePHP3で /Layout/defult.ctpに設定されている titleタグ、h1タグのテキストを変更する方法
CakePHP3のデフォルトのテンプレートを使て画面を表示する場合、titleタグや h1タグに表示されるテキストは、テーブルの名称に基づくテキストになります。
管理画面であればこれでも問題ない場合もありますが、公開側の画面ではそういうわけにはいきません。
ということで、titleタグ、h1タグのテキストを編集する方法を解説します。
デフォルトの titleタグ、h1タグの設定内容について
CakePHP3で「Tests」テーブルの index()アクションに対して表示される titleタグ、h1タグに編集されるテキストに関連するファイルは
サイトの共通して使用するテンプレートである下記と
/src/Template/Layout/defult.ctp
画面ごとに使用するテンプレートである下記とがあります。
/src/Template/Tests/index.ctp
デフォルトの設定では、
/src/Template/Layout/defult.ctp
のファイル上に
titleタグに関する記述と
1 2 3 4 |
<title> <?= $cakeDescription ?>: <?= $this->fetch('title') ?> </title> |
h1タグに関する記述とがあります。
1 2 3 |
<li class="name"> <h1><a href=""><?= $this->fetch('title') ?></a></h1> </li> |
この処理の部分で、テーブル名に基づくテキストが編集されます。
titleタグ、h1タグのテキストを任意のものに変える方法
これに対して、titleタグ、h1タグのテキストを変更したい場合は
ページごとのテンプレートファイルにページごとの値を設定していきます。
/src/Template/Tests/index.ctp
titleタグに編集するテキストは、下記の様に設定します。
1 |
<?php $this->assign("title", "タイトルタグに編集するタイトル"); ?> |
$this->assign()
の 1つ目のパラメータに変数名を指定して、2つ目のパラメータに編集したいテキストを指定します。
デフォルトの設定では titleタグ、h1タグは同じテキストが編集される設定になっていますので、h1タグのテキストを違うテキストにしたい場合は、下記の様に h1タグ用のテキストを設定します。
1 |
<?php $this->assign("h1", "h1タグに編集するh1テキスト"); ?> |
また、h1タグ用のテキストを設定した場合は、「/src/Template/Layout/defult.ctp」ファイルに h1のテキストを編集する設定をします。
1 2 3 |
<li class="name"> <h1><a href=""><?= $this->fetch('h1') ?></a></h1> </li> |
ただ、このままだと h1タグの指定がないページでは h1タグの部分が表示されなくなってしまいますので、下記の様に h1のテキストが指定している場合のみ表示するようにしておくと汎用性が高まります。
1 2 3 |
<li class="name"> <h1><a href=""><?= $this->fetch('h1') ? $this->fetch('h1') : $this->fetch('title') ?></a></h1> </li> |
ちなみに、デフォルトのテンプレートでは h2タグ以降の設定はありませんので、h2タグ以降は必要に応じてビューテンプレートファイルの中で設定するといいでしょう。
CakePHP3の関連記事
CakePHP4のCSS、JavaScript、画像のブラウザへのキャッシュをコントロールするCakePHP3でレコードを保存(追加、更新、Insert、Update)する複数の方法を紹介
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
その他の「CakePHP3」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!
-
-
CakePHP2の検索Plugin CakeDC/Searchで重複を省くgroup by(distinct)の実装方法
CakePHP2の検索プラグイン「CakeDC/Search」で、重複レコードを省くgroup by、distinctを使う方法についての解説。設定する場所はpaginatorの条件とするので、find()関数と同じ。
-
-
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3で「1対多」の連携を中間テーブルを利用した「多対多」の連携に変更するときの手順のまとめ。中間テーブルの設定やModelの変更などを間違いやすい箇所を指摘しながらの解説。
-
-
CakePHP3でシェルを作成しコマンドラインから実行・CakePHP2との違い
CakePHP3のシェルスクリプトを作成し、コマンドラインから実行する方法を解説。複数単語をつなげる場合の対応方法がCakePHP2より制限が厳しくなったのでCakePHP3の命名規則の確認が必要だ。
-
-
CakePHP4のController内でViewテンプレート、レイアウトの変更設定を記述する方法
CakePHP4でテンプレートやレイアウトファイルをデフォルトから変更する場合は「render()」を使用するが、記述場所はできるだけコントローラー内の最後の方に書く方がいい。
-
-
CakePHP 2.3で PDFを作成する方法を調査「mpdf」「TCPDF」「FPDF」
CakePHPで PDFを編集、出力するには「mpdf」「TCPDF」「FPDF」といったプラグインがあり、使い勝手を比較検討しました。TCPDFが一番良さそうでした。
-
-
CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを
CakePHP3でルーティングの設定変更をしたけど反映されない!そんなときは慌てず騒がずキャッシュをクリアしよう!ルーティングの設定もキャッシュされることがあるらしい。
-
-
CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法
CakePHP3の標準設定のタイムゾーンは「UTC(協定世界時)」に設定されている。これを日本標準時に変更する方法(app.php、bootstrap.phpの変更方法)の解説。
-
-
getParam('action')
で取得するアクション名は別関数に移動しても不変CakePHP4系、5系では「getParam()」で処理中のアクション名を取得できる。そのアクションから別関数を呼び出してた関数でアクション名を調べたが同一の名称だった。
-
-
CakePHP3でファイルのアップロード処理を自作・解説付き・その1
CakePHP3でファイルをアップロードする処理を、php.netにある「エラーを起こさない」と説明がある処理を参考に作成。サンプルソースとその解説付きで、コピペでも動くし、カスタマイズも簡単!