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タグに関する記述と
<title>
<?= $cakeDescription ?>:
<?= $this->fetch('title') ?>
</title>
h1タグに関する記述とがあります。
<li class="name">
<h1><a href=""><?= $this->fetch('title') ?></a></h1>
</li>
この処理の部分で、テーブル名に基づくテキストが編集されます。
titleタグ、h1タグのテキストを任意のものに変える方法
これに対して、titleタグ、h1タグのテキストを変更したい場合は
ページごとのテンプレートファイルにページごとの値を設定していきます。
/src/Template/Tests/index.ctp
titleタグに編集するテキストは、下記の様に設定します。
<?php $this->assign("title", "タイトルタグに編集するタイトル"); ?>
$this->assign()の 1つ目のパラメータに変数名を指定して、2つ目のパラメータに編集したいテキストを指定します。
デフォルトの設定では titleタグ、h1タグは同じテキストが編集される設定になっていますので、h1タグのテキストを違うテキストにしたい場合は、下記の様に h1タグ用のテキストを設定します。
<?php $this->assign("h1", "h1タグに編集するh1テキスト"); ?>
また、h1タグ用のテキストを設定した場合は、「/src/Template/Layout/defult.ctp」ファイルに h1のテキストを編集する設定をします。
<li class="name">
<h1><a href=""><?= $this->fetch('h1') ?></a></h1>
</li>
ただ、このままだと h1タグの指定がないページでは h1タグの部分が表示されなくなってしまいますので、下記の様に h1のテキストが指定している場合のみ表示するようにしておくと汎用性が高まります。
<li class="name">
<h1><a href=""><?= $this->fetch('h1') ? $this->fetch('h1') : $this->fetch('title') ?></a></h1>
</li>
ちなみに、デフォルトのテンプレートでは h2タグ以降の設定はありませんので、h2タグ以降は必要に応じてビューテンプレートファイルの中で設定するといいでしょう。
CakePHP3の関連記事
CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法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」に関する記事一覧
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP5でヘルパーから他のヘルパーを読み込む方法・CakePHP4からの変更点
CakePHP5のヘルパーで他のヘルパーを読み込む方法を解説。公式の日本語CookbookはCakePHP4のソースのままで間違っているため注意が必要。CakePHP4からの移行の際も同じ点に注意が必要。
-
-
CakePHP3でシェルを作成しコマンドラインから実行・CakePHP2との違い
CakePHP3のシェルスクリプトを作成し、コマンドラインから実行する方法を解説。複数単語をつなげる場合の対応方法がCakePHP2より制限が厳しくなったのでCakePHP3の命名規則の確認が必要だ。
-
-
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3でパンくずの指定方法の解説。2つのヘルパーがあるが簡単なHTMLヘルパーを使った方法を、実際の状況に合わせて3つのパターン(エレメント化、ブロック化)にして解説。
-
-
CakePHP3でユーザ定義の定数、変数を設定し、読み込む方法解説
CakePHP3で定数や共通で使う変数をまとめて設定し、プログラム内で読み込む方法を、bootstrap.phpに直接記述する方法と定数ファイルを分ける方法の3つの方法で解説。
-
-
CakePHPのFlashエラーは出るが入力項目ごとのメッセージが出ないエラーの原因
Bakeして自動生成した入力フォーム処理を元に少し処理を追加したら、入力エラーがあってもエラーメッセージが表示されなくなった。原因はリダイレクトの処理にあった。
-
-
CakePHP3でPHPExcelを使ってエクセルファイルを生成、出力する方法
CakePHP3でPHPExcelを利用してエクセルを編集、出力するサンプルソース+解説。PHPExcelのインストール方法の解説からファイル保存とダウンロードの方法なども解説。
-
-
CakePHP3ログファイルへの出力・$this->log()、独自ログへの出力方法の解説
コントロール、モデルの変数の中身を見るときはログに出力する方法が有効です。$this->log()を利用すると変数だけじゃなく、連想配列、オブジェクトも簡単にログ出力ができます。
-
-
CakePHP4の規約外のカラムをキーにアソシエーション(テーブル連結)する方法
CakePHPで規定外のカラム名のキーを指定してアソシエーション(テーブル連結)をする方法を解説。アソシエーション名によってはミスが発生しやすい点もあるので注意も必要。
-
-
国際化と地域化の翻訳機能「__()」を使って定数に変数を埋め込む方法
CakePHP4で定数に変数を埋め込み、翻訳機能「__()」で変数に値を入れる方法を紹介。定型の文章の一部だけを置換したい場合に利用すると便利。
-
-
CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法
CakePHP環境にてpostLinkで生成した削除のリンクをクリックしても処理が実行されず、JavaScriptでUncaught TypeErrorが発生。原因は同一IDを複数記述していることだった。