HeaderData aus eigener Extension heraus überschreiben?

  • schani schani
    R2-D2
    0 x
    102 Beiträge
    0 Hilfreiche Beiträge
    18. 08. 2009, 12:55

    Hallo,
    ich muss aus einer eigenen Extension einen Seitentitel und weitere Metadaten einer Seite überschreiben.

    Im der Extension kann ich dazu folgendes verwenden:

    1. $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


  • 1
  • Mopps Mopps
    Jedi-Ratsmitglied
    0 x
    867 Beiträge
    0 Hilfreiche Beiträge
    18. 08. 2009, 17:01

    [TS]$GLOBALS['TSFE']->page['title'] = "Mein Titel";[/TS]

  • schani schani
    R2-D2
    0 x
    102 Beiträge
    0 Hilfreiche Beiträge
    18. 08. 2009, 19:10

    Super Danke,

    gibts es auch eine Möglichkeit die Meta Daten zu überschreiben?

    Christian

  • Mopps Mopps
    Jedi-Ratsmitglied
    0 x
    867 Beiträge
    0 Hilfreiche Beiträge
    19. 08. 2009, 14:22

    in deiner Extension z.B. so etwas:
    [TS]$this->local_cObj->LOAD_REGISTER(array(
    'extKeywords' => 'Das, sind, keywords',
    'extDescription' => $row['desc']
    ), '');
    [/TS]
    Ich verwende meistens für die Erzeugung der Metatags die Extension "metatags". Um die obige Sache darin zu verwenden folgendes im Setup.

    [TS]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
    }
    }
    [/TS]

  • schani schani
    R2-D2
    0 x
    102 Beiträge
    0 Hilfreiche Beiträge
    18. 05. 2010, 22:06

    Ich muss das Thema noch mal aufgreifen.

    Die Lösung führt zu einem Fehler. Wenn ich

    1. $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

  • mizzos mizzos
    TYPO3-Anwärter
    0 x
    4 Beiträge
    0 Hilfreiche Beiträge
    12. 08. 2010, 11:01

    [quote="schani"]
    Ich muss das Thema noch mal aufgreifen.

    Die Lösung führt zu einem Fehler. Wenn ich

    1. $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?
    [/quote]

    Sitze hier am selben Problem. Ich meine zumindest für diesen Fehler eine Lösung gefunden zu haben:

    1. $this->local_cObj = t3lib_div::makeInstance('tslib_cObj');

    Allerdings funktioniert das mit den keywords / description immer noch nicht.

    [b]Mein Code sieht so aus:[/b]

    PHP in einer function meines eigenen plugins:

    1. $keywords = 'keyword1 keyword2';
    2. $description = 'description1 description2';
    3.  
    4. $this->local_cObj = t3lib_div::makeInstance('tslib_cObj');
    5. $this->local_cObj->LOAD_REGISTER(array(
    6. 'extKeywords' => $keywords,
    7. 'extDescription' => $description
    8. ), '');

    ts_setup.script:

    1. page.meta{
    2. description.field = description
    3. abstract.field = abstract
    4. robots = INDEX,FOLLOW
    5. }

    Dieser Teil ließt die Standard-Metadaten die ich in die Seiteneigenschaften eigetragen habe aus. (Hab's auch schon mal weg gelassen - ohne Erfolg)

    1. page.headerData.999 {
    2. global {
    3. description =
    4. }
    5. local >
    6. local {
    7. description.data = register:extDescription
    8. ifEmpty.description.data = page:description
    9.  
    10. keywords.data = register:extKeywords
    11. }
    12. }

  • BlackPixel BlackPixe...
    Sternenflotten-Admiral
    0 x
    230 Beiträge
    3 Hilfreiche Beiträge
    09. 06. 2011, 08:45

    Hallo,

    das Thema ist zwar schon alt aber über google sehr gut zu finden. Deshalb hier noch die Lösung zum obigen Problem:

    1. $this->local_cObj->LOAD_REGISTER
    ist falsch sofern man das cObj nicht als local_cObj instanziert. Im Objectkontext der Extension ist das cObj über
    1. $this->cObj
    zu erreichen. Dann sollte es funktionieren.

    Gruß Manfred

    TYPO3 Slider Revolution: https://www.rutschmann.biz/extensions/typo3-slider-revolution/
    TYPO3 Layerslider Extension: http://www.rutschmann.biz/extensions/typo3-layerslider/
    TYPO3 Responsive Flipbook Extension: http://www.rutschmann.biz/extensions/typo3-responsive-flipbook/
    TYPO3 PayPal Download Checkout: http://www.rutschmann.biz/extensions/typo3-paypal-download/

    http://www.rutschmann.biz/
    ----------------------------------------------------
    Extbase, Fluid, HTML & CSS Development

  • stefano37 stefano37
    Padawan
    0 x
    54 Beiträge
    0 Hilfreiche Beiträge
    13. 09. 2016, 13:36

    Also für mich hat folgendes in Bezug auf den meta robots-tag funktioniert:

    1. // yipeee, das geht
    2. $GLOBALS['TSFE']->pSetup['meta.']['robots'] = "noindex,follow";

    Keywords und Description gingen noch einfacher:

    1. $GLOBALS['TSFE']->page['description'] = $newDescription;
    2. $GLOBALS['TSFE']->page['keywords'] = $newKeywords;

  • 1