/** * @inheritDoc IElementType::getEditorHtml() * * @param BaseElementModel $element * * @return string */ public function getEditorHtml(BaseElementModel $element) { $html = ''; // Show the Entry Type field? if (!$element->id) { $entryTypes = $element->getSection()->getEntryTypes(); if (count($entryTypes) > 1) { $entryTypeOptions = array(); foreach ($entryTypes as $entryType) { $entryTypeOptions[] = array('label' => Craft::t($entryType->name), 'value' => Craft::t($entryType->id)); } $html .= craft()->templates->renderMacro('_includes/forms', 'selectField', array(array('label' => Craft::t('Entry Type'), 'id' => 'entryType', 'value' => $element->typeId, 'options' => $entryTypeOptions))); $typeInputId = craft()->templates->namespaceInputId('entryType'); $js = <<<EOD \$('#{$typeInputId}').on('change', function(ev) { \tvar \$typeInput = \$(this), \t\teditor = \$typeInput.closest('.hud').data('elementEditor'); \tif (editor) { \t\teditor.setElementAttribute('typeId', \$typeInput.val()); \t\teditor.loadHud(); \t} }); EOD; craft()->templates->includeJs($js); } } if ($element->getType()->hasTitleField) { $html .= craft()->templates->render('entries/_titlefield', array('entry' => $element)); } $html .= parent::getEditorHtml($element); return $html; }
/** * Returns the HTML for an editor HUD for the given element. * * @param BaseElementModel $element * * @return string */ public function getEditorHtml(BaseElementModel $element) { if ($element->getType()->hasTitleField) { $html = craft()->templates->render('entries/_titlefield', array('entry' => $element)); } else { $html = ''; } $html .= parent::getEditorHtml($element); return $html; }