0

谁能帮我添加带有项目列表的下拉按钮。

因此,如果我单击项目,该项目应添加到实例上的光标位置。

4

1 回答 1

1

我一直在使用 .Net MVC 进行此操作,但我采用了我的解决方案并将其转换为 PHP。

editor.ui.addRichCombo('clientfields', {
    label: 'Client Fields',
    title: 'Client Fields',
    multiSelect: false,
    init: function() {
        <?php foreach($clientField as $field) { ?>
            this.add(<?php print $field->VarName; ?>, '<?php print $field->Name; ?>', '<?php print $field->Name; ?>');
        <?php } ?>
    },
    panel: {
        css : [ editor.config.contentsCss, CKEDITOR.getUrl( '/Content/ckeditor/skins/moono/editor.css' ) ]
    },
    onClick: function (value) {
        editor.focus();
        editor.fire('saveSnapshot');
        editor.insertHtml(value);
        editor.fire('saveSnapshot');
    }
});

这将在您的菜单中添加一个下拉菜单。我也有切割下拉标签的问题,但是将此css添加到CKEditor附带的editor.css文件中应该可以解决这个问题。

.cke_combo__clientfields, .cke_combo__clientfields > a {
    width: 150px;
    margin-right: 8px;
}

.cke_combo__clientfields .cke_combo_inlinelabel {
    width: 120px;
}

此处的宽度可以调整为下拉菜单所需的宽度,但这应该允许您将 $field->VarName 添加到编辑器中光标所在的位置并替换编辑器中的选定文本。我不完全确定这里的 php 语法,但它肯定会让你指向正确的方向。

于 2013-04-21T20:16:11.880 回答