Hallo,
ich muss aus einer eigenen Extension einen Seitentitel und weitere Metadaten einer Seite überschreiben.
Im der Extension kann ich dazu folgendes verwenden:
$GLOBALS['TSFE']->additionalHeaderData[$extKey] = '<title>Neuer Seitentitel</title>';
Es wird zwar die neue Zeile eingefügt, aber die alte nicht überschrieben.
Gibt es da eine Möglichkeit den alten <title> Tag zu überschreiben?
Besten Dank für Hilfe
Christian
$GLOBALS['TSFE']->page['title'] = "Mein Titel";
Super Danke,
gibts es auch eine Möglichkeit die Meta Daten zu überschreiben?
Christian
in deiner Extension z.B. so etwas:
$this->local_cObj->LOAD_REGISTER(array(
'extKeywords' => 'Das, sind, keywords',
'extDescription' => $row['desc']
), '');
Ich verwende meistens für die Erzeugung der Metatags die Extension "metatags". Um die obige Sache darin zu verwenden folgendes im Setup.
page.headerData.999 {
global {
description =
keywords =
}
local >
local {
description.data = register:extDescription
ifEmpty.description.data = page:description
keywords.data = register:extKeywords
ifEmpty.keywords.data = page:keywords
}
}
Ich muss das Thema noch mal aufgreifen.
Die Lösung führt zu einem Fehler. Wenn ich
$this->local_cObj->LOAD_REGISTER...
einbaue bekomme ich folgende Fehlermeldung
Fatal error: Call to a member function LOAD_REGISTER() on a non-object in /home/httpd/vhosts/domain.de/httpdocs/typo3conf/ext/wwl_persona/pi1/class.tx_wwlpersona_pi1.php on line 123
Was mache ich falsch?
Besten Dank für Hilfe
Christian
schani schrieb
Ich muss das Thema noch mal aufgreifen.
Die Lösung führt zu einem Fehler. Wenn ich
$this->local_cObj->LOAD_REGISTER...
einbaue bekomme ich folgende Fehlermeldung
Fatal error: Call to a member function LOAD_REGISTER() on a non-object in /home/httpd/vhosts/domain.de/httpdocs/typo3conf/ext/wwl_persona/pi1/class.tx_wwlpersona_pi1.php on line 123
Was mache ich falsch?
Sitze hier am selben Problem. Ich meine zumindest für diesen Fehler eine Lösung gefunden zu haben:
$this->local_cObj = t3lib_div::makeInstance('tslib_cObj');
Allerdings funktioniert das mit den keywords / description immer noch nicht.
Mein Code sieht so aus:
PHP in einer function meines eigenen plugins:
$keywords = 'keyword1 keyword2';
$description = 'description1 description2';
$this->local_cObj = t3lib_div::makeInstance('tslib_cObj');
$this->local_cObj->LOAD_REGISTER(array(
'extKeywords' => $keywords,
'extDescription' => $description
), '');
ts_setup.script:
page.meta{
keywords.field = keywords
description.field = description
abstract.field = abstract
robots = INDEX,FOLLOW
}
Dieser Teil ließt die Standard-Metadaten die ich in die Seiteneigenschaften eigetragen habe aus. (Hab's auch schon mal weg gelassen - ohne Erfolg)
page.headerData.999 {
global {
description =
keywords =
}
local >
local {
description.data = register:extDescription
ifEmpty.description.data = page:description
keywords.data = register:extKeywords
ifEmpty.keywords.data = page:keywords
}
}
Hallo,
das Thema ist zwar schon alt aber über google sehr gut zu finden. Deshalb hier noch die Lösung zum obigen Problem:
$this->local_cObj->LOAD_REGISTER
ist falsch sofern man das cObj nicht als local_cObj instanziert. Im Objectkontext der Extension ist das cObj über
$this->cObj
zu erreichen. Dann sollte es funktionieren.
Gruß Manfred
Also für mich hat folgendes in Bezug auf den meta robots-tag funktioniert:
// yipeee, das geht
$GLOBALS['TSFE']->pSetup['meta.']['robots'] = "noindex,follow";
Keywords und Description gingen noch einfacher:
$GLOBALS['TSFE']->page['description'] = $newDescription;
$GLOBALS['TSFE']->page['keywords'] = $newKeywords;