実際、タイトルは質問全体です。
現在のページタイトルが自動的に表示されるようにテンプレートを変更したいだけです(HTMLテンプレートを使用しているので、データベースからページタイトルを取得するために少しタイプミスが必要です)
それが可能だといいのですが
実際、タイトルは質問全体です。
現在のページタイトルが自動的に表示されるようにテンプレートを変更したいだけです(HTMLテンプレートを使用しているので、データベースからページタイトルを取得するために少しタイプミスが必要です)
それが可能だといいのですが
です。行うのは非常に簡単です。TemplaVoilàを使用していると仮定します。使用していない場合は、次のようにする必要があります:-D
まず、ダミーのページタイトルを使用してテンプレートにHTMLを配置します。マッピングしやすいようにID属性を付けてください。好き:
<h1 id="page-title">Page Title Here</h1>
次に、TemplaVoilàに移動し、その<h1>
要素をコンテンツタイプ「TypoScriptObjectPath」にマップします。オブジェクトパスの入力を求められたら、好きなものを入力できます。慣例では、動的コンテンツは「lib」名前空間に追加されるため、これを呼び出しましょうlib.pagetitle
。これを「INNER」と「OUTER」のどちらにマッピングするかを尋ねられたら、「INNER」を選択します。これは、<h1>...</h1>
タグ間のスペースをマッピングするだけであることを意味します。(「OUTER」は、タグを含む要素全体を置き換えることを意味します。これはH1のままにしておきたいため、ここでは不要です。)テンプレートマッピングを保存します。
次に、サイトのTypoScriptテンプレートに移動します。ここでは、実際のコンテンツでマッピングしたスペースを埋めるロジックを挿入します。ページタイトルを挿入するには、TypoScriptの数行の問題です。
lib.pagetitle = TEXT
lib.pagetitle.data = page : title
これは、「マップしたテンプレートのスペースを取ります。そのlib.pagetitle
タイプのスペースにコンテンツオブジェクトを作成しますTEXT
。次に、そのコンテンツオブジェクトにページのタイトルを入力します。」
TypoScriptテンプレートを保存します。これで完了です。
これは一見複雑に聞こえるかもしれませんが、このシステムの良いところは、驚くほど柔軟なことです。テキストを動的に挿入することはほんの始まりに過ぎません。TypoScriptリファレンス(別名「TSRef」)にはすべての詳細があります。「getText」を検索してフレーバーを取得します。これは、TypoScriptテンプレートの「page:title」呼び出しをページタイトルにドロップする関数です。
TSRefはあなたの友達です。私はそれの印刷されたコピーを私の机に置いています-あなたがTYPO3を歌わせたいなら、それはあなたの歌集です。
私はvhsソリューションを好みます:
{v:page.info(field:'title')}
https://fluidtypo3.org/viewhelpers/vhs/master/Page/InfoViewHelper.html
lib.pagetitle = RECORDS
lib.pagetitle {
source.data = page:uid
tables = pages
conf.pages = TEXT
conf.pages.field = nav_title
}
現在のページタイトルを取得するには:
lib.pagetitle = TEXT
lib.pagetitle.field=title
メタデータの場合:
モバイル互換のウェブサイトを通過するときに、ヘッダータグの後にメタを配置することが非常に重要です
IE9のクァークズモードを防ぐために、すべてのHTMLページの最上部に次の行を追加する必要があります。
タイプミススクリプトにdisableAllHeaderCode=1を追加することにより、ヘッダー全体を自分で書き込むことができます。または、ヘッドタグに直接メタタグを追加することにより、ヘッダー全体をハックすることができます。
page.headTag = <head><meta http-equiv="X-UA-Compatible" content="IE=edge" />
これをタイプミスに配置します
meta.X-UA-Compatible = IE=edge,chrome=1
httpEquivalent:(TYPO3 4.7以降)1に設定すると、「name」属性の代わりにhttp-equiv属性がメタタグで使用されます。デフォルト:0。
TYPO3のものの詳細については、私のブログをご覧ください。
https://jainishsenjaliya.wordpress.com/2013/10/10/put-meta-tag-on-top-of-header-section-in-typo3/
これを流動的なページテンプレートで使用する場合は、次のように簡単に使用することもできます。
{data.title}
ページタイトルにアクセスします。
次のタイプミスにより、現在のページタイトルを表示できます。
lib.pagetitle = TEXT
lib.pagetitle.data = page : title
次に、次のようにtyposcriptObjectPathを使用して、このオブジェクトをページに使用します。
<f:cObject typoscriptObjectPath="lib.pagetitle"/>
lib.page_title = CONTENT
lib.page_title {
table = pages
select {
where = uid = 2
}
renderObj = COA
renderObj {
10 = TEXT
10 {
field = title
wrap = <h1 class="page_title">|</h1>
}
20 = TEXT
20 {
field = subtitle
stdWrap.required = 1
stdWrap.wrap = <h5>|</h5>
}
}
}
この行でタイプミスをレンダリングしたい場所でlib.page_titleを呼び出します
<f:cObject typoscriptObjectPath='lib.page_title' />
これがお役に立てば幸いです!!!
唯一の解決策を使用したい場合は、拡張機能をfluid
インストールすると、次のようにまったく使用せずにページタイトルを出力できます。VHS
TypoScript
タグの例:
<v:page.header.title title="NULL" whitespaceString="' '" setIndexedDocTitle="1">
<!-- tag content - may be ignored! -->
</v:page.header.title>
インライン例:
{v:page.header.title(title: 'NULL', whitespaceString: '' '', setIndexedDocTitle: 1)}
質問はかなり古いですが、私はまだここで読んだことがない何かを追加したいと思います。
TYPO3はヘッダーに関して多くのことを提供します、そしてそれを完全に個別にレンダリングすることも可能であることは正しいです。それにもかかわらず、TYPO3のすべての素晴らしいオプションは、個々のソリューションによって多かれ少なかれ無効にされています。
したがって、最初に質問に対する直接の答え:
デフォルトのページタイトルは次のように上書きできます
config.pageTitle.stdWrap.override.cObject < lib.pagetitle
複数のページタイプが定義されており、タイトルがタイプごとに個別に設定される場合は、ページ定義内に構成を記録できます。
page = PAGE
page {
typeNum = 0
config.pageTitle.stdWrap.override.cObject < lib.pagetitle_1
...
}
anotherPage = PAGE
anotherPage {
typeNum = 1
config.pageTitle.stdWrap.override.cObject < lib.pagetitle_2
...
}
以下でも、lib.pagetitle
タイトルまたはサブタイトルを使用するだけではなく、ページで拡張子が使用されている場合はニュースタイトルを使用します。
lib.pagetitle = COA
lib.pagetitle {
10 = TEXT
10 {
// subtitle: used as field for title tag
value.field = subtitle // title
if.isFalse.data = GP:tx_news_pi1|news
}
20 = RECORDS
20 {
if.isTrue.data = GP:tx_news_pi1|news
dontCheckPid = 1
tables = tx_news_domain_model_news
source.data = GP:tx_news_pi1|news
source.intval = 1
conf.tx_news_domain_model_news = TEXT
conf.tx_news_domain_model_news {
field = title
htmlSpecialChars = 1
}
}
}
個々のヘッダーが最善の解決策ではないかもしれないと私が考える理由はまだいくつかあります。
私の意見では、このロジック全体を独自のテンプレートに手動で再度実装することは有用ではなく、ヘッダーはAJAXや動的PDFファイルなどの特別なページタイプに対してのみ無効にする必要があると思います。これが、私がそのオプションを有用だと考える主な理由です。
彼女はまだTypoScriptの-オプションに関する最新のドキュメントへの現在のリンク(アンカーページタイトル): httpsconfig
://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#pagetitle