TinyMCE и CakePHP - PullRequest
       14

TinyMCE и CakePHP

2 голосов
/ 09 сентября 2010

Я использую помощник cakephp tinymce.Я знаю, что могу поменять темы с простых и расширенных и т. Д. Мне интересно, можно ли пойти дальше и явно указать другой шрифт и т. Д., Который может выбрать пользователь?

Так что, если бы я только хотелпользователь сможет использовать тег абзаца и предварительный тег?

Ответы [ 3 ]

1 голос
/ 13 сентября 2010

Я не пользуюсь помощником (не знал, что он был). Я просто помещаю код инициализации в элемент и включаю его там, где он мне нужен. См .: http://book.cakephp.org/2.0/en/views.html#elements. Если вам необходимо указать различные конфигурации, вы можете передать массив элементу, а затем вывести значения в javascript, например:

    <script type="text/javascript">
        $().ready(function() {
            $('textarea').tinymce({
                // Location of TinyMCE script
                //          // General options
                theme : "advanced",
                plugins : "<?php echo $pluginsString ?>",
                ...
    </script>

Вот как я это делаю:

<?php
echo "\n".$javascript->link('jQuery/jquery-1.3.2',false);
echo "\n".$javascript->link('tiny_mce/jquery.tinymce.js',false);
echo "\n".$javascript->link('tiny_mce/tiny_mce.js',false);
?>
<script type="text/javascript">


    $().ready(function() {
        $('textarea').tinymce({
            // Location of TinyMCE script
            //          // General options
            theme : "advanced",
            plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

            // Theme options
            theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,fontselect,fontsizeselect,|,image,link,unlink,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,iespell,|,pastetext,pasteword,|,fullscreen",
            theme_advanced_buttons2 : "bullist,numlist,|,blockquote,|,anchor,cleanup,code,|,forecolor,backcolor,|,tablecontrols",
            theme_advanced_buttons3 : "",
            theme_advanced_toolbar_location : "top",
            theme_advanced_toolbar_align : "left",
            theme_advanced_statusbar_location : "bottom",
            theme_advanced_resizing : true,
            relative_urls : false,
            file_browser_callback : "fileBrowserCallBack"



        });
    });
    function fileBrowserCallBack(field_name, url, type, win)
    {
    //var connector = "../../filemanager/browser.html?Connector=connectors/php/connector.php";
    var connector = "<?php echo Router::url('/js') ?>/tiny_mce/filemanager/browser.html?Connector=connectors/php/connector.php";
    var enableAutoTypeSelection = true;

    var cType;
    tinyfck_field = field_name;
    tinyfck = win;

    switch (type) {
            case "image":
                cType = "Image";
                break;
            case "flash":
                cType = "Flash";
                break;
            case "file":
                cType = "File";
                break;
    }

    if (enableAutoTypeSelection && cType) {
            connector += "&Type=" + cType;
    }

    window.open(connector, "tinyfck", "modal,width=600,height=400");
    }
</script>

Эта функция обратного вызова предназначена для плагина файлового менеджера / загрузчика Fck для Tiny: http://freshmeat.net/projects/tinyfck/

1 голос
/ 09 сентября 2010

Эй, Джонси, я думаю, эта страница объясняет это лучше, чем я мог! http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/valid_elements

И на тот случай, если вы хотите разрешить пользователю использовать некоторые теги CSS, вы можете использовать строки:

theme_advanced_buttons1: "styleselect, ...whatever other advanced buttons you'd like on line 1"

и

content_css: "location of stylesheet that contains the options you would like to provide"

в вашей функции инициализации.

Надеюсь, это поможет!

0 голосов
/ 10 сентября 2010

Вы также можете написать свой собственный скин и применить его, используя функцию инициализации tinymce.Для получения дополнительной информации о том, как написать собственный скин для tinymce, посмотрите это руководство от moxiecode .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...