Jumat, 08 Mei 2009

mengatasi style gambar pada modul tinymce drupal

ketika menggunakan modul tinymce di drupal khususnya pada bagian gambar. kadang terjadi permasalahan ketika kita bermaksud mengubah style appearance gambar tersebut, misalnya style Align, horizontal/vertical space.

Kita merasa sudah mengatur style appearance image tetapi hasilnya tidak muncul di halaman form drupal.

tips untuk mengatasi nya :

  1. Update modul drupal tinymce khusus nya file

    \sites\default\modules\tinymce\plugin_reg.php

  2. edit pada bagian :

    $plugins['advimage']['extended_valid_elements'] = array('img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]');

    MENJADI :

    $plugins['advimage']['extended_valid_elements'] = array('img[style|class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]');

    DAN

    $plugins['flash']['extended_valid_elements'] = array('img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|obj|param|embed]');

    MENJADI :

    $plugins['flash']['extended_valid_elements'] = array('img[style|class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|obj|param|embed]');


plugin ajaxfilemanager tinymce drupal

untuk menangani edit form di drupal kita bisa menggunakan RichText Editor,
Bisa menggunakan modul drupal Wysiwyg API, atau FCKEditor, atau TinyMCE

Dengan Modul rich text tersebut kita juga bisa menambahkan plugin sesuai dengan kebutuhan
misalnya untuk image manager dan file manager

Kali ini kita bahas penggunaan modul TinyMCE beserta plugin AjaxFileManager yang berguna untuk operasi file manager dan upload file. baik berupa file dokumen ataupun file gambar.

  1. download modul TinyMCE
  2. extract pada folder sites/default/modules
  3. download TinyMCE extract ke folder sites/default/modules/tinymce/tinymce
  4. Aktifkan module tinymce dan pastikan sudah berjalan sesuai dengan harapan
Penambahan Plugin AjaxFileManager

  1. download TinyMCE Plugin AjaxFileManager dari situs phpletter
  2. extract ke folder plugin tinymce

    \sites\default\modules\tinymce\tinymce\jscripts\tiny_mce\plugins\ajaxfilemanager

  3. Patch file tinymce.module pada bagian

    $tinymce_invoke = <<< EOD

    tinyMCE.init({
    $tinymce_settings
    });


    EOD;


    MENJADI :

    $tinymce_invoke = <<< EOD

    tinyMCE.init({
    $tinymce_settings,
    file_browser_callback : "ajaxfilemanager",
    });



    function ajaxfilemanager(field_name, url, type, win) {
    var ajaxfilemanagerurl = "/sites/default/modules/tinymce/tinymce/jscripts/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php";
    switch (type) {
    case "image":
    break;
    case "media":
    break;
    case "flash":
    break;
    case "file":
    break;
    default:
    return false;
    }
    tinyMCE.activeEditor.windowManager.open({
    url: "/sites/default/modules/tinymce/tinymce/jscripts/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php",
    width: 782,
    height: 440,
    inline : "yes",
    close_previous : "no"
    },{
    window : win,
    input : field_name
    });

    /* return false;
    var fileBrowserWindow = new Array();
    fileBrowserWindow["file"] = ajaxfilemanagerurl;
    fileBrowserWindow["title"] = "Ajax File Manager";
    fileBrowserWindow["width"] = "782";
    fileBrowserWindow["height"] = "440";
    fileBrowserWindow["close_previous"] = "no";
    tinyMCE.openWindow(fileBrowserWindow, {
    window : win,
    input : field_name,
    resizable : "yes",
    inline : "yes",
    editor_id : tinyMCE.getWindowArg("editor_id")
    });

    return false;*/
    }

    EOD;

  4. Buat folder untuk userfile default untuk menyimpan file

    misal di :
    sites/default/files/userfiles/

  5. Edit File Konfigurasi plugin AjaxFileManager

    \sites\default\modules\tinymce\tinymce\jscripts\tiny_mce\plugins\ajaxfilemanager\inc\config.base.php

    Edit pada bagian :

    define('CONFIG_SYS_DEFAULT_PATH', '/xampp/htdocs/hwlcorp/sites/default/files/userfiles/'); //accept relative path only
    define('CONFIG_SYS_ROOT_PATH', '/xampp/htdocs/hwlcorp/sites/default/files/userfiles/'); //accept relative path only