12

Joomlaの記事エディターに追加のボタンを挿入しようとしています。拡張モードでデフォルトのTinyMCEプラグを使用しています。すでにご存知のとおり、エディターの下には4つのボタン(記事、画像、ページ分割、続きを読む)があります。私がやりたいのは、5番目のボタンを挿入することです。(私は画像ボタンを付けたので、最低10の担当者ポイントが必要なため投稿できないと言いました。)

ページ分割ボタンプラグインをコピーして名前を変更してから、新しいプラグインとして再インストールしようとしましたが、TinyMCEでエラーが発生し、ボタンが表示されません。

質問:ボタンを挿入するにはどうすればよいですか?

4

2 に答える 2

9

私は広範な検索を続け、Joomla 1.5 の記事エディターにボタンを追加するためのガイドを見つけました。

チュートリアルはhttp://tushev.org/articles/programming/18-how-to-create-an-editor-button-editors-xtd-plugin-for-joomlaで入手できます。

XML マニフェストの標準がわずかに変更されているため、そのままでは Joomla 2.5 および Joomla 3.0 では機能しません。チュートリアルに従って、代わりにこの XML マニフェストを使用してください。

<?xml version="1.0" encoding="utf-8"?>
<extension version="2.5" type="plugin" method="upgrade" group="editors-xtd">
        <name>test</name>
        <author>Name</author>
        <creationDate>Month 2013</creationDate>
        <copyright>Month Name. All rights reserved.</copyright>
        <license>GPL</license>
        <authorEmail>Email</authorEmail>
        <authorUrl>Your URL</authorUrl>
        <version>1.0.0</version>
        <description>
            "adds the button 'test' to the editor"
        </description>
        <files>
            <filename plugin="test">test.php</filename>
        </files>
</extension>

チュートリアル PHP は正しく、次のとおりです。

<?php

 // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.plugin.plugin' );

class plgButtonTest extends JPlugin {

    function plgButtonTest(& $subject, $config)
    {
        parent::__construct($subject, $config);
    }
    function onDisplay($name)
    {
        $js =  "                      
         function buttonTestClick(editor) {
                             txt = prompt('Please enter something','123');
                             if(!txt) return;
                               jInsertEditorText('{test '+txt+'}', editor);
        }";
        $css = ".button2-left .testButton {
                    background: transparent url(/plugins/editors-xtd/test.png) no-repeat 100% 0px;
                }";
        $doc = & JFactory::getDocument();
        $doc->addScriptDeclaration($js);
        $doc->addStyleDeclaration($css);
        $button = new JObject();
        $button->set('modal', false);
        $button->set('onclick', 'buttonTestClick(\''.$name.'\');return false;');
        $button->set('text', JText::_('Test'));
        $button->set('name', 'testButton');
        $button->set('link', '#');
        return $button;
    }
}
?>

ご協力ありがとうございました。他に良い方法があれば、よろしくお願いします。

于 2012-12-07T09:10:14.750 に答える
4

プラグインが正常にインストールされた場合は、プラグイン名をプラグイン Custom pluginCustom button高度なパラメーター設定にtinymce入力する必要があります。また、インストールしたプラグインが公開されていることを確認してください。例として、以下の画像を参照してください。

これは、有効に設定されている私のカスタム プラグインです。この画像を参照してください。 ここに画像の説明を入力

そして、tinymceプラグインで高度なパラメーターに移動し、最後にカスタム フィールド オプションがあることを確認します。この画像を参照してください。

ここに画像の説明を入力

プラグイン名とボタン名を入力し、記事マネージャー エディターでボタンを見つけます。

于 2012-12-06T14:10:22.570 に答える