/**
     * @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;
    }
예제 #2
0
 /**
  * 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;
 }