joomla 中自定义字段的文本编辑器

发布于 2024-12-27 13:48:40 字数 180 浏览 1 评论 0原文

我在 Joomla 1.5 菜单中创建了一个自定义字段来描述菜单。我已经在 administrator\components\com_menus\models\metadata 中编辑了 component.xml,但现在我想用文本编辑器代替普通的文本框。有什么想法如何解决这个问题吗?

I have created a custom field in Joomla 1.5 menu for description of the menu. I have edited the component.xml in administrator\components\com_menus\models\metadata but now I want to put a text editor in place of a normal text-box. Any ideas how to approach this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

余生再见 2025-01-03 13:48:40

您需要创建一个编辑器类型的元素。

了解如何创建元素如何保存数据

class JElementMyeditor extends JElement
{
    var $_name = 'Myeditor';

    /**
     * @param $name
     * @param $value
     * @param $node
     * @param $control_name
     */
    function fetchElement($name, $value, &$node, $control_name)
    {
        $editor = JFactory::getEditor();

        $width  = $node->attributes('width');
        $height = $node->attributes('height');
        $col    = $node->attributes('col');
        $row    = $node->attributes('row');

        //  ($name, $html, $width, $height, $col, $row, $buttons = true, $params = array())
        return $editor->display($control_name.'['.$name.']',
                                htmlspecialchars($value, ENT_QUOTES),
                                $width, $height, $col, $row,
                                array('pagebreak', 'readmore') ) ;
    }
}

你可以在 xml 中使用它作为

<param  name="custom_param" 
        width="300" 
        height="150"
        type="myeditor" 
        label="LABEL"  
        description="DESC" 
        />

You need to create an element of editor type.

Learn how to create element and how to save data

class JElementMyeditor extends JElement
{
    var $_name = 'Myeditor';

    /**
     * @param $name
     * @param $value
     * @param $node
     * @param $control_name
     */
    function fetchElement($name, $value, &$node, $control_name)
    {
        $editor = JFactory::getEditor();

        $width  = $node->attributes('width');
        $height = $node->attributes('height');
        $col    = $node->attributes('col');
        $row    = $node->attributes('row');

        //  ($name, $html, $width, $height, $col, $row, $buttons = true, $params = array())
        return $editor->display($control_name.'['.$name.']',
                                htmlspecialchars($value, ENT_QUOTES),
                                $width, $height, $col, $row,
                                array('pagebreak', 'readmore') ) ;
    }
}

And you can use this in xml as

<param  name="custom_param" 
        width="300" 
        height="150"
        type="myeditor" 
        label="LABEL"  
        description="DESC" 
        />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文