/** * PreProcess page slots for public view. * * @param array $slots * @param Email $entity */ private function processSlots($slots, $entity) { /** @var \Mautic\CoreBundle\Templating\Helper\SlotsHelper $slotsHelper */ $slotsHelper = $this->factory->getHelper('template.slots'); /** @var \Mautic\CoreBundle\Templating\Helper\TranslatorHelper $translatorHelper */ $translatorHelper = $this->factory->getHelper('template.translator'); $content = $entity->getContent(); //Set the slots foreach ($slots as $slot => $slotConfig) { //support previous format where email slots are not defined with config array if (is_numeric($slot)) { $slot = $slotConfig; $slotConfig = []; } $value = isset($content[$slot]) ? $content[$slot] : ''; $placeholder = isset($slotConfig['placeholder']) ? $slotConfig['placeholder'] : 'mautic.page.builder.addcontent'; $slotsHelper->set($slot, "<div data-slot=\"text\" id=\"slot-{$slot}\">{$value}</div>"); } //add builder toolbar $slotsHelper->start('builder'); ?> <input type="hidden" id="builder_entity_id" value="<?php echo $entity->getSessionId(); ?> "/> <?php $slotsHelper->stop(); }
/** * {@inheritDoc} */ public function getSessionId() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSessionId', array()); return parent::getSessionId(); }