/** * * .type the type of the contentstream * .entries a list of all content stream root entities * .revision the revision of the content stream * @return stdClass */ public function exportTemplateVariables(ContentStream $cs, array $entries = NULL) { $variables = (object) array('entries' => array(), 'type' => $cs->getType(), 'revision' => $cs->getRevision()); $entries = $entries !== NULL ? $entries : $cs->getEntries(); foreach ($entries as $entry) { $variables->entries[] = $this->convertEntryTemplateVariables($entry, $cs, $root = TRUE); } return $variables; }
public function initControlsFor(ContentStream $cs, TranslationContainer $translationContainer) { $translator = $translationContainer->getTranslator(); $trans = function ($key) use($translator) { return $translator->trans($key, array(), 'cms'); }; if ($cs->getType() === 'page-content') { foreach ($this->headlines as $level) { $this->addNewControl('Headline', (object) array('level' => $level), sprintf('%s (H%d)', $level === 1 ? $trans('sce.widget.headline') . ' ' : $trans('sce.widget.headline'), $level), 'text'); } $this->addNewControl('Paragraph', NULL, $trans('sce.widget.paragraph'), 'text'); $this->addNewControl('Li', NULL, $trans('sce.widget.li'), 'text'); $this->addNewControl('Image', NULL, $trans('sce.widget.image'), 'images'); $this->addNewControl('DownloadsList', (object) array('headline' => '', 'downloads' => array()), $trans('sce.widget.downloadsList'), 'text'); $this->addNewControl('WebsiteWidget', (object) array('label' => $trans('sce.widget.calendar'), 'name' => 'calendar'), $trans('sce.widget.calendar'), 'misc'); } }