問題点 #7863

固定ページのコンテンツテンプレートで、contentsTitle()が使用できない。

- goichiほぼ3年前に追加. 約1年前に更新.

ステータス:終了開始日:
優先度:通常期日:
担当者:- goichi進捗率:

100%

カテゴリ:固定ページ
対象バージョン:4.0.0

説明

現在の仕様では、固定ページのコンテンツテンプレートで、contentsTitle()が使用できないようです。
(使用箇所をコンテンツテンプレートから出してやり、レイアウトテンプレート中に記述すれば正常動作します)


履歴

#1 江頭 竜二ほぼ3年前に更新

  • トラッカーTODO から 問題点 に変更

#2 江頭 竜二ほぼ3年前に更新

  • カテゴリ固定ページ にセット

#3 ナカエ -2年以上前に更新

これって事前にBcBaserHelper::setTitle()を利用して
タイトルを設定しているかどうかという問題だと思うんですが違いますか?

BcBaserHelper::getContentsTitle()
https://github.com/baserproject/basercms/blob/dev-3/lib/Baser/View/Helper/BcBaserHelper.php#L311-L315

BcBaserHelper::setTitle()
https://github.com/baserproject/basercms/blob/dev-3/lib/Baser/View/Helper/BcBaserHelper.php#L148-L151

#4 江頭 竜二2年以上前に更新

  • 対象バージョン4.0.0 にセット

#5 江頭 竜二約1年前に更新

馬庭さん、一度、中榮さんの意見をご確認お願いします。

#6 - goichi約1年前に更新

お疲れ様です。長らく失念しておりました。。。

えっと、状態としては中榮さんのおっしゃるとおりで、事前にBcBaserHelper::getTitle()をしたあとであれば、BcBaserHelper::contentTitle()とか、BcBaserHelper::contentName()が呼び出せました。

ちなみに、レイアウトテンプレート内であればBcBaserHelper::getTitle()を呼び出す必要がないので、コンテンツテンプレート内でもそのようにならないでしょうか?
(そもそも無理なんでしたっけ?)

#7 江頭 竜二約1年前に更新

  • 担当者- goichi にセット

BcBaserHelper::getContentsTitle は、結果、Controller::pageTitleを見ているのですが、実装は、各コンテンツにゆだねている状況です。
例えば、固定ページの場合、Controllerで設定しておらず、ページのテンプレート内でsetTitleを行っています。
タイミング的にコンテンツテンプレートの後の処理となるので、コンテンツテンプレートの段階では、取得できない。
レイアウトテンプレートは、ページテンプレートの後の処理なので取得できる。
という事になります。

ちなみに管理画面ではコントローラーの段階で全て設定しています。

一旦、仕様として理解頂ければクローズお願いします。

#8 江頭 竜二約1年前に更新

補足)

各コンテンツに委ねているというのは、固定ページだとか、ブログ記事だとか、その種類ごとにという事です。

#9 - goichi約1年前に更新

  • ステータス担当 から 終了 に変更
  • 進捗率0 から 100 に変更

他の形式にエクスポート: Atom PDF