示例#1
0
 /**
  * Gets the raw content as configured - a certain value or database field.
  *
  * @param TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $contentObject The original content object
  * @param array $configuration content object configuration
  * @return string The raw content
  */
 protected function getRawContent($contentObject, $configuration)
 {
     $content = '';
     if (isset($configuration['value'])) {
         $content = $configuration['value'];
         unset($configuration['value']);
     }
     if (!empty($configuration)) {
         $content = $contentObject->stdWrap($content, $configuration);
     }
     return $content;
 }
 /**
  * @test
  */
 public function renderWorksWithNestedFluidtemplate()
 {
     /** @var $tsfe \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController */
     $tsfe = $this->getMock(\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::class, array(), array(), '', false);
     $GLOBALS['TSFE'] = $tsfe;
     $configuration = array('10' => 'FLUIDTEMPLATE', '10.' => array('template' => 'TEXT', 'template.' => array('value' => 'A{anotherFluidTemplate}C'), 'variables.' => array('anotherFluidTemplate' => 'FLUIDTEMPLATE', 'anotherFluidTemplate.' => array('template' => 'TEXT', 'template.' => array('value' => 'B')))));
     $expectedResult = 'ABC';
     $contentObjectRenderer = new \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer();
     $contentObjectRenderer->setContentObjectClassMap(array('FLUIDTEMPLATE' => FluidTemplateContentObject::class, 'TEXT' => TextContentObject::class));
     $fluidTemplateContentObject = new \TYPO3\CMS\Frontend\ContentObject\ContentObjectArrayContentObject($contentObjectRenderer);
     $result = $fluidTemplateContentObject->render($configuration);
     $this->assertEquals($expectedResult, $result);
 }
示例#3
0
 /**
  * Executes the SOLR_MULTIVALUE content object.
  *
  * Turns a list of values into an array that can then be used to fill
  * multivalued fields in a Solr document. The array is returned in
  * serialized form as content objects are expected to return strings.
  *
  * @param string $name content object name 'SOLR_MULTIVALUE'
  * @param array $configuration for the content object, expects keys 'separator' and 'field'
  * @param string $TyposcriptKey not used
  * @param TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $contentObject parent cObj
  * @return string serialized array representation of the given list
  */
 public function cObjGetSingleExt($name, array $configuration, $TyposcriptKey, $contentObject)
 {
     $data = '';
     if (isset($configuration['value'])) {
         $data = $configuration['value'];
         unset($configuration['value']);
     }
     if (!empty($configuration)) {
         $data = $contentObject->stdWrap($data, $configuration);
     }
     if (!array_key_exists('separator', $configuration)) {
         $configuration['separator'] = ',';
     }
     $removeEmptyValues = TRUE;
     if (isset($configuration['removeEmptyValues']) && $configuration['removeEmptyValues'] == 0) {
         $removeEmptyValues = FALSE;
     }
     $listAsArray = GeneralUtility::trimExplode($configuration['separator'], $data, $removeEmptyValues);
     if (!empty($configuration['removeDuplicateValues'])) {
         $listAsArray = array_unique($listAsArray);
     }
     return serialize($listAsArray);
 }
示例#4
0
 /**
  * 
  * @param \TYPO3\CMS\Cal\Controller\Controller $controller
  */
 public static function initRegistry(&$controller)
 {
     $myCobj =& \TYPO3\CMS\Cal\Utility\Registry::Registry('basic', 'cobj');
     $myCobj = $controller->cObj;
     $controller->cObj =& $myCobj;
     $myConf =& \TYPO3\CMS\Cal\Utility\Registry::Registry('basic', 'conf');
     $myConf = $controller->conf;
     $controller->conf =& $myConf;
     $myController =& \TYPO3\CMS\Cal\Utility\Registry::Registry('basic', 'controller');
     $myController = $controller;
     $controller =& $myController;
     // besides of the regular cObj we provide a localCobj, whos data can be overridden with custom data for a more flexible rendering of TSObjects
     $local_cObj =& \TYPO3\CMS\Cal\Utility\Registry::Registry('basic', 'local_cobj');
     $local_cObj = new \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer();
     $local_cObj->start(array());
     $cache =& \TYPO3\CMS\Cal\Utility\Registry::Registry('basic', 'cache');
     $cache = array();
     $controller->local_cObj =& $local_cObj;
 }
 /**
  * @return \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper
  */
 protected function createInstance()
 {
     $className = $this->getViewHelperClassName();
     /** @var \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper $instance */
     $instance = $this->objectManager->get($className);
     if (TRUE === method_exists($instance, 'injectConfigurationManager')) {
         $cObject = new \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer();
         $cObject->start(array(), 'tt_content');
         /** @var \TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface $configurationManager */
         $configurationManager = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManagerInterface');
         $configurationManager->setContentObject($cObject);
         $instance->injectConfigurationManager($configurationManager);
     }
     $instance->initialize();
     return $instance;
 }