TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Kann ich kein RECORDS in ein cObject anwenden


Autor Nachricht
Verfasst am: 19. 04. 2012 [11:01]
Shark1982
Themenersteller
Dabei seit: 29.06.2006
Beiträge: 45
Mal eine Frage:

Ich kriege in Extbase über ein Objekt
mittels
PHP
$this->renderer->assign("content", $story->getContentcolumn());

eine kommaseperierte Liste an uids tt_content einträgem an einen dieser View Helper von Fluid

In Fluid sieht es so aus.
TYPOSCRIPT
<f:cObject typoscriptObjectPath="lib.Stories.getContent" data="{content}" />


Im TS habe ich dann folgende LIB geschrieben.

TYPOSCRIPT
lib.Stories.getContent = COA
lib.Stories.getContent {
 
   10 = RECORDS
   10.tables = tt_content
   10.source.current = 1
   10.conf.tt_content = COA
   10.conf.tt_content {
        10 = TEXT
        10.field = bodytext
 
   } 
 
 
 
}



Das Problem wenn ich das einbinde kriege ich nur eine leere Seite er gibt mir dann garnichts mehr aus der Extension bzw dem Fluid Templates aus.
Das betrifft aber nur CONTENT und RECORDS was ich bisher festgestellt habe, andere cObjekte gehen dagegen einwandfrei.

Erst wenn ich das TS Objekt mit 10 > wieder lösche kriege ich wieder einen OutPut.

Was mache ich falsch ?


Mitglied in der www.mediengarage.de
ProfilWWW
Verfasst am: 05. 05. 2012 [22:39]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8849
Ich habe das etwas anders gelöst - dem View wird ein array aus tt_content uids übergeben.
Mit Foreach dann jede UID durchgehen und über einen Viewhelper denn die CE holen - z.B.:
PHP
<?php
 
/**
 * Shows Content Element
 *
 * @package TYPO3
 * @subpackage Fluid
 */
class Tx_Powermail_ViewHelpers_Misc_ContentElementViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
 
	/**
	 * @var Tx_Extbase_Configuration_ConfigurationManagerInterface
	 */
	protected $configurationManager;
 
	/**
	 * @var Content Object
	 */
	protected $cObj;
 
    /**
     * Parse a content element
     *
	 * @param	int			UID of any content element
     * @return 	string		Parsed Content Element
     */
    public function render($uid) {
		$conf = array( // config
			'tables' => 'tt_content',
			'source' => $uid,
			'dontCheckPid' => 1
		);
		return $this->cObj->RECORDS($conf);
    }
 
	/**
	 * Injects the Configuration Manager
	 *
	 * @param Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager
	 * @return void
	*/
	public function injectConfigurationManager(Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager) {
		$this->configurationManager = $configurationManager;
		$this->cObj = $this->configurationManager->getContentObject();
	}
 
}
 
?>


ProfilWWW