Kann ich kein RECORDS in ein cObject anwenden

  • Shark1982 Shark1982
    Padawan
    0 x
    49 Beiträge
    0 Hilfreiche Beiträge
    19. 04. 2012, 11:01

    Mal eine Frage:

    Ich kriege in Extbase über ein Objekt
    mittels

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

    1. <f:cObject typoscriptObjectPath="lib.Stories.getContent" data="{content}" />

    Im TS habe ich dann folgende LIB geschrieben.

    1. lib.Stories.getContent = COA
    2. lib.Stories.getContent {
    3.  
    4. 10 = RECORDS
    5. 10.tables = tt_content
    6. 10.source.current = 1
    7. 10.conf.tt_content = COA
    8. 10.conf.tt_content {
    9. 10 = TEXT
    10. 10.field = bodytext
    11.  
    12. }
    13.  
    14.  
    15.  
    16. }

    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 ?


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    05. 05. 2012, 22:39

    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.:

    1. <?php
    2.  
    3. /**
    4.  * Shows Content Element
    5.  *
    6.  * @package TYPO3
    7.  * @subpackage Fluid
    8.  */
    9. class Tx_Powermail_ViewHelpers_Misc_ContentElementViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
    10.  
    11. /**
    12. * @var Tx_Extbase_Configuration_ConfigurationManagerInterface
    13. */
    14. protected $configurationManager;
    15.  
    16. /**
    17. * @var Content Object
    18. */
    19. protected $cObj;
    20.  
    21. /**
    22.   * Parse a content element
    23.   *
    24. * @param int UID of any content element
    25.   * @return string Parsed Content Element
    26.   */
    27. public function render($uid) {
    28. $conf = array( // config
    29. 'tables' => 'tt_content',
    30. 'source' => $uid,
    31. 'dontCheckPid' => 1
    32. );
    33. return $this->cObj->RECORDS($conf);
    34. }
    35.  
    36. /**
    37. * Injects the Configuration Manager
    38. *
    39. * @param Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager
    40. * @return void
    41. */
    42. public function injectConfigurationManager(Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager) {
    43. $this->configurationManager = $configurationManager;
    44. $this->cObj = $this->configurationManager->getContentObject();
    45. }
    46.  
    47. }
    48.  
    49. ?>

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • 1