Exemplo n.º 1
0
 /**
  * We catch all field rendering request (from CMS\View\View) here, then we
  * dispatch to their corresponding FieldHandler.
  *
  * If the field object being rendered has been set to "hidden" for the current
  * view mode it will not be rendered.
  *
  * @param \Cake\Event\Event $event The event that was triggered
  * @param \Field\Model\Entity\Field $field Mock entity
  * @param array $options Additional array of options
  * @return string The rendered field
  */
 public function renderField(Event $event, $field, $options = [])
 {
     $viewMode = $this->viewMode();
     if (isset($field->metadata->view_modes[$viewMode]) && !$field->metadata->view_modes[$viewMode]['hidden']) {
         $event->stopPropagation();
         // We don't want other plugins to catch this
         $result = (string) $field->render($event->subject());
         if (!$field->metadata->view_modes[$viewMode]['shortcodes']) {
             $result = $event->subject()->stripShortcodes($result);
         }
         return $result;
     }
     return '';
 }