[TYPO3-mvc] Syntax Property - turned to a cache problem

Kerstin Finke kerstinfinke at hotmail.com
Wed Nov 21 11:44:39 CET 2012


Sorry, I sent too fast, was not ready.

So here is my problem:

I can change the titletag (with or without the viewhelper) only if I
take my show-Action for the detailview in the list of uncacheable actions.

So I have to configure in the ext_localconf.php


    Tx_Extbase_Utility_Extension::configurePlugin(
	$_EXTKEY,				
	'Display',					
	array(					
		'Flat' => 'list,show,contact,sendform'
		),
	array(					
		'Flat' => 'show',
		)
);

instead of


    Tx_Extbase_Utility_Extension::configurePlugin(
	$_EXTKEY,				
	'Display',					
	array(					
		'Flat' => 'list,show,contact,sendform'
		),
	array(		
		)
);



Do I really have to turn off caching for this action just because of the
titletag!?

When I look in the typoscript-object-browser I see my extension is
listed in tt_content.list.20.hnmimmo_display as "USER" (although
show-action is now defined as "non-cacheable).

How does extbase handle this, where can I read something about this?

Would be great if someone could help again!

Greetings
Kerstin





Am 21.11.2012 11:41, schrieb Kerstin Finke:
> Hi Sebastian, hi list,
>
> thank you very much, Sebastian, this was a great help!
>
> But one problem I can't solve now:
>
> I can change the titletag (with or without the viewhelper) only if I
> take my show-Action for the detailview in the list of uncacheable actions.
>
> So I have to configure in the ext_localconf.php
>
>
>     Tx_Extbase_Utility_Extension::configurePlugin(
>      $_EXTKEY,
>      'Display',
>      array(
>          'Flat' => 'list,show,contact,sendform'
>          ),
>      array(
>          'Flat' => 'show',
>          )
> );
>
> instead of
>
>
>     Tx_Extbase_Utility_Extension::configurePlugin(
>      $_EXTKEY,
>      'Display',
>      array(
>          'Flat' => 'list,show,contact,sendform'
>          ),
>      array(
>          )
> );
>
>
> Am 15.11.2012 16:14, schrieb Sebastian Schreiber:
>> You have to override the page title with:
>> $GLOBALS['TSFE']->page['title'] = $title
>>
>> But be aware of the fact that non cached plugin (USER_INT) are not able
>> to override the title the way described.
>> If you have a non-cached plugin you have to override the page title the
>> following way:
>> $GLOBALS['TSFE']->content = preg_replace('#<title>.*<\/title>#',
>> '<title>' . $title . '</title>', $GLOBALS['TSFE']->content);
>>
>> And actually it would be better to use a viewhelper for that.
>>
>> class Tx_MyExt_ViewHelpers_Meta_PageTitleViewHelper extends
>> Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
>>
>>      /**
>>       * renders a special title for the page
>>       *
>>       * @param string $title
>>       * @return string $content: The pagebrowser
>>       */
>>      public function render($title = NULL) {
>>
>>          if (NULL === $title) {
>>              $title = $this->renderChildren();
>>          }
>>          $title = trim($title);
>>          if ($this->controllerContext->getRequest()->isCached()) {
>>              $GLOBALS['TSFE']->page['title'] = $title;
>>              $GLOBALS['TSFE']->indexedDocTitle = $title;
>>          } else {
>>              $GLOBALS['TSFE']->content =
>> preg_replace('#<title>.*<\/title>#', '<title>' . $title . '</title>',
>> $GLOBALS['TSFE']->content);
>>          }
>>
>>      }
>>
>> }
>>
>> Am 15.11.2012 15:47, schrieb Kerstin Finke:
>>> Dear List,
>>>
>>> I have a detailview in my controller. The action gets the object as
>>> parameter and the detailview is shown correctly in the frontend.
>>>
>>> What I want now:
>>>
>>> I want to show the title of the object as pagetitle (instead of
>>> "SingleViewPage" or something like that)
>>>
>>> What is the correct syntax? I tried this:
>>>
>>>
>>>   /**
>>>      * Show action for this controller ( SingleView)
>>>      * @param Tx_HnmImmo_Domain_Model_Flat $flat The flat to be shown
>>>      * @return string
>>>      */
>>>     public function showAction(Tx_HnmImmo_Domain_Model_Flat $flat) {
>>>
>>>                $title = $flat->title;
>>>                $GLOBALS['TSFE']->indexedDocTitle = $title;
>>>
>>>                $this->view->assign('flats', $flat);
>>>     }
>>>
>>>
>>> I tried also:
>>> $title = $flat->Tx_HnmImmo_Domain_Model_Flat['title'];
>>>
>>> Can someone please help? Thanks in advance!
>>> Kerstin
>>> _______________________________________________
>>> TYPO3-project-typo3v4mvc mailing list
>>> TYPO3-project-typo3v4mvc at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4mvc
>>
>>
>



More information about the TYPO3-project-typo3v4mvc mailing list