FOF30\Form\Field\Tag::getFieldContents PHP Method

getFieldContents() public method

Method to get the field input markup.
public getFieldContents ( array $fieldOptions = [] ) : string
$fieldOptions array Options to be passed into the field
return string The field HTML
    public function getFieldContents(array $fieldOptions = array())
    {
        $id = isset($fieldOptions['id']) ? 'id="' . $fieldOptions['id'] . '" ' : '';
        $class = $this->class . (isset($fieldOptions['class']) ? ' ' . $fieldOptions['class'] : '');
        $front_link = $this->element['front_link'] ? (string) $this->element['front_link'] : false;
        $translate = $this->element['translate'] ? (string) $this->element['translate'] : false;
        $tagIds = is_array($this->value) ? implode(',', $this->value) : $this->value;
        if (!$this->item instanceof DataModel) {
            $this->item = $this->form->getModel();
        }
        if ($tagIds && $this->item instanceof DataModel) {
            $db = $this->form->getContainer()->platform->getDbo();
            $query = $db->getQuery(true)->select(array($db->quoteName('id'), $db->quoteName('title')))->from($db->quoteName('#__tags'))->where($db->quoteName('id') . ' IN (' . $tagIds . ')');
            $query->order($db->quoteName('title'));
            $db->setQuery($query);
            $tags = $db->loadObjectList();
            $html = '';
            foreach ($tags as $tag) {
                $html .= '<span>';
                if ($front_link) {
                    \JLoader::register('TagsHelperRoute', \JPATH_SITE . '/components/com_tags/helpers/route.php');
                    $html .= '<a href="' . \JRoute::_(\TagsHelperRoute::getTagRoute($tag->id)) . '">';
                }
                if ($translate == true) {
                    $html .= \JText::_($tag->title);
                } else {
                    $html .= $tag->title;
                }
                if ($front_link) {
                    $html .= '</a>';
                }
                $html .= '</span>';
            }
        }
        return '<span ' . ($id ? $id : '') . 'class="' . $class . '">' . $html . '</span>';
    }