ความเห็น: 20
การปรับแต่งให้ TinyMCE สามารถใช้งาน IMCE บน Drupal 6
เช่นเคยครับ บล็อกนี้ไม่พล่ามมาก เข้าสู่วิธีทำกันเลย
Prerequisite
- Drupal 6.x
- TinyMCE module bundle with TinyMCE core
- IMCE module
- อ่านวิธีการติดตั้งได้จาก INSTALL.txt ของแต่ละตัว
เพิ่มโค้ดต่อไปนี้ใน ../PATH_YOUR_THEME/template.php (ที่มา http://drupal.org/node/241753#comment-792305)
function phptemplate_tinymce_theme($init, $textarea_name, $theme_name, $is_running) {
static $access, $integrated;
if (!isset($access)) {
$access = function_exists('imce_access') && imce_access();
}
$init = theme_tinymce_theme($init, $textarea_name, $theme_name, $is_running);
if ($init && $access) {
$init['file_browser_callback'] = 'imceImageBrowser';
if (!isset($integrated)) {
$integrated = TRUE;
drupal_add_js("function imceImageBrowser(fid, url, type, win) {win.open(Drupal.settings.basePath +'?q=imce&app=TinyMCE|url@'+ fid, '', 'width=760,height=560,resizable=1');}", 'inline');
}
}
return $init;
}
ถ้าไม่มีอะไรผิดพลาด มาถึงขั้นตอนนี้จะปรากฏปุ่ม Browse ในหน้า Insert/edit image เมื่อคลิกมันจะไปเรียกใช้ IMCE
แต่จะพบว่าการปรับแต่งตำแหน่งปุ่มต่างๆ ของ TinyMCE จากหน้า Administer › Site configuration › TinyMCE settings นั้นลำบากมาก เพราะมันไม่มีมาให้เหมือนกับ TinyTinyMCE
เราจำเป็นต้อง hack code กันครับ ... เปิดไฟล์ modules/tinymce/tinymce.module ช่วงประมาณบรรทัดที่ 622
$row[] = array( ... ) แทนแถบเครื่องมือที่ 1, 2, 3...
array('a', 'b', 'c') ที่ซ้อนอยู่ข้างใน จะแทนปุ่มเครื่องมือต่างๆ โดย array() แต่ละตัวเมื่อแสดงผลจะถูกคั่นด้วย seperator
ในกรณีที่ใช้แถบเครื่องมือแถวเดียว สามารถลบ seperator 2 ตัว ที่ปรากฏส่วนท้ายแถวได้ โดยปิดการทำงานของโค้ดบรรทัด
$init['theme_advanced_buttons2'][] = 'separator';
$init['theme_advanced_buttons3'][] = 'separator';
ปัญหาไม่สามารถใช้งาน Enable/Disable Toggle:
จากลิงก์ http://drupal.org/node/262231 สรุปได้ดังนี้
- patch http://drupal.org/files/issues/tinymce6.patch
- downgrade TinyMCE core จาก v3 -> v2
ความเห็น
ตั้งใจทำใช้เอง หรือว่าให้คนอื่นใช้??
ถ้าใช้เอง น่าจะลองพวก markdown/textile ดีกว่า
ไอ้พวก wysiwyg editor พวกนี้ ทำ layout/css พังมาเยอะละ
สวัสดีครับท่าน คือว่าผมได้ลองติดตั้ง Tinymce ลงบน Drupal เพื่อจะใช้เครื่องมือต่าง ๆ ผมใช้ XMAPP ครับ จะเก็บไดเรกทอรี Tinymce ไว้ใน /opt/lampp/htdocs/drupal/modules ก็เซตอัพไปจนถึงขั้นตอนการเลือกปุ่มเครื่องมือ มันไม่แสดงรูปปุ่มเครื่องมือเลยครับ มีแต่ตัวหนังสือ เช่น copy , paste ,emotions พอเซตแพเสร็จ ผมก็ลองสร้างเพจดู มันไม่แสดง Toolbar และปุ่มเครื่องมือเลยครับ พี่พอจะทราบไหมว่าเกิดจากอะไร ผมใส่ตำแหน่งพาทของ tinymce ผิดหรือเปล่า ช่วยหน่อยครับพี่
ขอบคุณครับ
มือใหม่ ไพรัช
ตอบคุณไพรัช
ผมยังไม่เข้าใจคำถามของคุณนะครับ อ่านแล้วงงๆ
สรุปว่า
1. download TinyMCE module ตามลิงก์ข้างบน ไปใส่ไว้ใน ./sites/all/modules/
2. download TinyMCE มาใส่ไว้ภายใต้ folder TinyMCE module (อ่านวิธีใน INSTALL.txt)
3. enable TinyMCE module
4. setup permission TinyMCE module
5. setup TinyMCE properties
แค่นี้ก็น่าจะทำงานได้แล้วนะครับ
คุณต้นกล้า
ผมเซตให้ Tinymce แสดง ปุ้ม Browse ไฟล์รูปภาพได้แล้วครับ แต่พอเลือกไฟล์และอัพโหลด แล้วคลิ๊กที่ลิงค์ Send to Tinymce มันจะกลับมาที่หน้าต่าง Insert/Edit image พร้อมทั้งแสดงชื่อไฟล์ที่อยู่ในฮาร์ดดิสก์ แต่พอคลิ๊กปุ่ม Insert มันไม่แสดงรูปที่เราเลือก ดันแสดงรูปอื่นครับ
ทำไงดี แล้วเรามีวิธีอัพไฟล์รูปภาพไปไว้ใน .../sites/default/file ไหมครับ
ขอบคุณมาล่วงหน้า
อาการแบบนี้เรียกว่าผีหลอกแล้วล่ะครับ ... ยังนึกไม่ออกว่าเพราะเหตุใดจึงแสดงภาพไม่ตรงตาม path
IMCE นี่แหละครับ เจ๋งสุดๆ แล้ว สำหรับการอัพโหลดไฟล์เข้า sites/default/files
หวัดดีครับ
คือว่าถ้าผมใช้ยูสเซอร์ admin ในการโพสรูปภาพ ก็จะมีปุ่ม browser ให้ แต่ถ้าเป็นยูสเซอร์ธรรมดา ที่สมัครเข้ามา จะไม่แสดงปุ่ม Browser ให้เห็นเลยครับ
คุณต้นกล้า พอจะรู้ไหมว่าต้องแก้ไขอย่าไรครับ
ขอบคุณ
สายัณสวัสดิ์ครับ คุณต้นกล้า
ผมเข้าไปเซตอัพ สิทธิ์ (permission) ตามที่แนะนแล้วน่ะ แต่ยังหาเกี่วยกับการแสดงรูปภาพไม่เจอครับ คือ ตอนพิมพ์ข้อความ และใส่รูป จะมองเห็น แต่พอกดปุ่ม บันทึก แล้วมันแสดงแต่ข้อความ ไม่แสดงรูปเลยครับ
รบกวนชี้แนะด้วยครับ
ขอบคุณ
หลังจากกดบันทึกแล้ว view source ดูครับ ดูว่า path ของรูปที่มันบันทึกเป็น path จริงของรูปภาพหรือเปล่า? ผมเดาว่าปัญหานี้เป็นเพราะ path รูปไม่ถูกต้องครับ แก้ไม่ยาก ไม่มีอะไรซับซ้อน ใจเย็นๆ ค่อยๆ ดูครับ
ถ้าใช้ Apache ก็ดู config ด้วยครับ พวก mod_rewrite (.htaccess) อาจจะเป็นสาเหตุที่ทำให้ url สุดท้ายเปลี่ยนไปได้
คุณต้นกล้า
ผมลองใช้ Album photos เพื่อเก็บภาพ จากที่นี่ http://drupal.org/project/photos พอสรางอัลบั๊มตัวเอง เสร็จแล้วจะ Upload file มันทำไม่ได้ ไม่เห็นมีปุ่มอะไรให้กดเลยครับ คัณพอจะรู้ไหม
รบกวนชี้แนะด้วยครับ
ขอบคุณ
หวัดดีค่ะ คุณต้นกล้า
ติดตั้ง tinymce เสร็จแล้วไม่มีปุ่ม browser รูป
ติดตั้ง imce แล้วด้วย ต้องไปแก้ไขตรงใหนค่ะ
สวัสดีครับพี่ต้นกล้า
TinyMCE กับ FCK Editor เหมือนหรือต่างกันยังไงครับ? แล้วเราจะเลือกตัวไหนดี?
อีกเรื่อง ใน TinyMCE ถ้าเราต้องการปรับแถวให้เป็น 4 แถวหละครับ
เราต้องเพิ่ม
$init['theme_advanced_buttons4'] = array();
เข้าไป ได้รึเปล่าครับ
พอดีเป็นมือใหม่ Drupal ครับ
^
^
^
เสริมข้างบน
คือว่า พอเปลี่ยนไปใช้บางธีมแล้วเครื่องมือ มันล้นออกนอกกรอบ โดยไม่ขึ้นแถวใหม่ให้ ทำให้ปุ่มที่ล้นออกไปไม่สามารถใช้ได้ ก็เลยอยากจะสร้างแถวที่ 4 พอจะมีวิธีบ้างไหมครับ โปรดชี้แนะด้วย ขอบคุณครับ
- TinyMCE กับ FCKeditor สร้างผลลัพธ์ได้คล้ายๆ กัน เลือกใช้ตัวไหนก็ได้ แล้วแต่ความชอบครับ ช่วงหลังๆ นี้รู้สึกว่าคนใช้ TinyMCE จะเยอะกว่า
- 4 แถว ก็ลองใส่โค้ดลงไป แล้วรันดูเลยครับ - Just Do It. เพราะผมก็ลองผิดลองถูกเหมือนกัน ซึ่งก็จำขั้นตอนไม่ได้แล้ว
- ต้องใส่โค้ด hack สำหรับทุกๆ ธีมครับ เนื่องจาก TinyMCE สำหรับ Drupal ก็เป็นการ hack เหมือนกัน เนื่องจาก Drupal ไม่ได้ออกแบบมาเพื่อ WYSIWYG editor ครับ
- ลองเข้าไปถามใน http://drupal.in.th ดูครับ อาจได้คำตอบที่ดีกว่านี้
- ที่สำคัญคือ Just Do It.
เรียนคุณต้นกล้า
เพิ่งศึกษาการใช้งานของ Drupal คือตอนนี้ติดปัญหาที่เราลง IMCE แล้วพอ Upload รูปในส่วนของ view เราสามารถเห็นรูป และใส่สีข้อความได้ แต่เมื่อ Save และส่งข้อมูลมาหน้าหลักแล้ว รูปและสีของข้อความไ่ม่ขึ้น ไม่ทราบว่าสาเหตุมาจากอะไรค่ะ และจะต้องแก้ไขยังงัย รบกวนคุณต้นกล้าช่วยแนะนำด้วยน่ะค่ะ ขอบคุณค่ะ
ตอบคุณ phen
เดาว่า input format ไม่อนุญาตให้ใช้แท็ก img และ span ครับ ลองเข้าไปเพิ่มที่หน้า /admin/settings/filters
configure -> Configure -> Allowed HTML tags:
ได้แล้วค่ะ แต่ว่าในกรณีนี้ สมมุติว่าหน้าแรกของเราต้องการให้โชว์รูปภาพเป็น thumbnails พร้อมกับเนื้อหา และเมื่อเราคลิกไปอ่านรายละเอียดแล้ว รูปภาพสามารถแสดงเป็นขนาดจริง ไม่ทราบว่าวิธีนี้ เราจะต้องเปิดโมดูลหรือ Set ค่าอะไรเพิ่มเติมมั๊ยค่ะ
ขอโทษน่ะค่ะ ที่สอบถาม เพราะหาอ่านจากเว็บอื่นที่มีบทความเกี่ยวกับ drupal แล้วคำตอบไม่ชัดเจนเลยค่ะ
requirement นี้ยากครับ ผมเองก็นึกไม่ออกว่าจะทำยังไง
ผมคิดว่า http://drupal.in.th จะตอบคำถามได้ดีกว่าผมนะครับ เพราะผมไม่ได้ติดตามโมดูลต่างๆ ของ Drupal เลย ไม่รู้ว่าเทคโนโลยีเขาไปถึงไหนกันแล้ว
บันทึกอื่นๆ
- เก่ากว่า « Dual monitors with ATI Radeon HD 3450 on Ubuntu Hardy
- ใหม่กว่า » โปรแกรมสำหรับดูฟรีทีวีทั่วโลก


































