2017-03-02 5 views
1

私のextbase拡張機能をシングルビューで表示するときに、ブラウザのページタイトルを変更しようとしています。すべての私の試みは失敗しました:TYPO3 Extbase - シングルビューでブラウザのページタイトルを変更する

/** 
* action show 
* 
* @param \Vendor\Lei\Domain\Model\Lei $record 
* @return void 
*/ 
public function showAction(\Vendor\Lei\Domain\Model\Lei $record) { 
    $this->view->assign('record', $record); 

    //$GLOBALS['TSFE']->page['title'] = $record->getLei(); 
    //$GLOBALS['TSFE']->indexedDocTitle = $record->getLei();   

    //$GLOBALS['TSFE']->page['title'] = $record; 
    //$GLOBALS['TSFE']->indexedDocTitle = $record; 

    //$GLOBALS['TSFE']->additionalHeaderData['CustomUserIntTitle'] 
    //= '<title>' . $this->getLEI($record) . '</title>'; 

    //$myNewTitle = 'Title'; 
    //$title = '<title>' . $myNewTitle . '</title>'; 
    //$this->response->addAdditionalHeaderData($title); 

    //$GLOBALS['TSFE']->content = preg_replace('#<title>.*<\/title>#', '<title>' . $record->getTitle() . '</title>', $GLOBALS['TSFE']->content); 

    //$this->response->addAdditionalHeaderData('<title>Mein eigener Title</title>'); 
} 

を私は非キャッシュ(私は実際にもしなければならない場合、わからない)として行動をregistred

答えて

4

月のソリューションがGETのparamsやページIDに応じて変化する通常の方法であるに応じていくつかの変更を加える必要があります。

コントローラ内のタイトルを変更しようとしたのは、Typoscriptでページタイトルがどのように設定されているかによって異なります。しかし、コントローラ内部のタイトルを変更すると、PageRendererを使用可能です:

$this->objectManager->get(\TYPO3\CMS\Core\Page\PageRenderer::class)->setTitle('My title'); 
// For the search 
$GLOBALS['TSFE']->indexedDocTitle = 'My title'; 

それはPageRendererで作業されていない場合は、あなたがあなたのページのTypoScriptでタイトルまたは他の拡張機能のタイトルをオーバーライドするための特別な設定を持っている必要があります。

+0

魅力のように働く。どうもありがとう! –

3

(サンプルはゲオルク・リンガー優れEXTからである:ニュース):TSで試してみてください

[globalVar = TSFE:id = NEWS-DETAIL-PAGE-ID] 
config.noPageTitle = 2 

temp.newsTitle = RECORDS 
temp.newsTitle { 
    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 
    } 
    wrap = <title>|</title> 
} 
page.headerData.1 > 
page.headerData.1 < temp.newsTitle 

[global] 

は、あなたは自分の拡張子

関連する問題