Planet Drupal Thailand

The Drupal Book Special Price

สำนักพิมพ์ใจดีให้สั่งซื้อหนังสือทางเว็บได้โดยตรง เนื่องจากไม่ต้องกระจายสินค้า ไม่ต้องผ่านร้านหนังสือ ราคาที่ได้จึงลดลงมาพอสมควร ราคาปก 325 บาท ลดเหลือ 280 บาทเท่านั้น หนังสือหน้า 480 หน้า เฉลี่ยแล้วซื้อคุ้มกว่าสำเนาแน่นอน

กรอกฟอร์มได้แล้ววันนี้ (ทำไมเป็น .doc?)

เริ่มนับสถิติรายวันของ Drupal ตอนเช้า

โมดูล Statistics (มากับ Drupal อยู่แล้ว) ซึ่งเก็บสถิติจำนวนครั้งที่แต่ละ node ถูกอ่าน (node_counter) โดยมีทั้งสถิติรายวัน (daycount) และสถิติทั้งหมด (totalcount) ซึ่งสถิติรายวันจะถูกล้างทิ้ง (reset) ทุกๆ 24 ชั่วโมง โดย statistics_cron() แต่ว่าเรากำหนดไม่ได้ว่าจะครบ 24 ชั่วโมงเมื่อใด เท่าที่อ่าน source code ดู ถ้าเราเรียก cron ทำงานครั้งแรกตอนกี่โมง Drupal ก็จะเริ่มนับสถิติรายวันใหม่ ณ เวลานั้นทุกๆวัน ซึ่งไม่น่าจะถูก เพราะสถิติรายวันน่าจะเริ่มนับใหม่ตอนเช้าของแต่ละวัน ซึ่งเราสามารถแก้ไขได้โดยแก้ statistics_cron() (แก้ Drupal core อีกแล้วครับท่าน 555)

อ่านเพิ่มเติม

The Drupal Book

และแล้วมันก็มา (แต่ยังไม่ได้แตะ!) คนแรกที่เห็นคงเป็น @nopparat แต่ Truemove มันแย่เกินกว่าจะใช้ #jibjib ถ่ายรูปแล้วส่งได้ ต้องพึ่ง @rtsp

<

p>Prototype drupal book from sugree markpeak on Twitpic

เพิ่มเติม

The Drupal Book

Drupal Book

การเดินทางอันยาวนาน…

ภาพโดย @rstp ผู้ซึ่งได้จับหนังสือเล่มจริงก่อนคนเขียนทั้งสอง

Goodbye, Filebrowser

ปกติเวลาทำเว็บแล้วต้องการให้มี directory listing สำหรับให้ผู้ใช้ดาวน์โหลดไฟล์ โมดูลตัวแรกที่มักจะนึกถึงก็คือ Filebrowser ซึ่งถ้าติดตั้ง Drupal บนเซิร์ฟเวอร์ที่เป็นลินุกซ์ มันจะสามารถทำงานได้ตามปกติ แต่ปัญหาจะเกิดขึ้นทันทีเมื่อใช้เครื่องเซิร์ฟเวอร์ที่เป็นวินโดวส์

สาเหตุของปัญหาจริงๆ น่าจะเกิดจาก encoding ของระบบไฟล์ในวินโดวส์ที่มันไม่เป็น UTF-8 ทำให้มีปัญหาประหลาดๆ เมื่อใช้ฟังก์ชันของ PHP ในการอ่านชื่อไฟล์

ตัวอย่าง issue ที่น่าปวดหัวของ Filebrowser ก็มีประมาณนี้

<

ul>

  • ไม่แสดงไฟล์
  • ชื่อไฟล์เน่า ซึ่งทำให้เกิดปัญหาต่อเนื่องคือ
  • URL คลิกแล้วใช้การไม่ได้

  • เพิ่มเติม

    8 ขั้นตอนในการ upgrade drupal module

    เป็นขั้นตอนง่ายๆที่บางทีก็งงเองครับว่าต้องทำอะไรบ้างเลยมาเขียนไว้เผื่อใครงงเหมือนผม

    1. ดูว่า module ไหนหมดอายุที่ http://example.com/admin/reports/status พวกที่หมดอายุจะขึ้นสี เหลืองๆ แดงๆ
    2. ดาวน์โหลด module ใหม่
    3. unzip module
    4. disable module เหล่านั้น
    5. ลบ module เหล่านั้นทิ้งไป
    6. วาง module ที่พึ่ง unzip เข้าไปแทน
    7. Enable module คืนมา
    8. Run update.php เพื่อที่จะ update database (ไปที่ http://example.com/update.php)
    แค่นี้ก็เรียบร้อยแล้วครับ อ่อก่อนทำ set site เป็น offline ก่อนก็ดีนะครับหรือถ้ากลัวมาก backup table ที่เกี่ยวข้องไว้ก่อนก็ได้ ดูได้จาก module_name.install จะอยู่ใน method module_name_schema() ครับ หรือถ้าไม่แน่ใจจริงๆก็ backup มันทั้งหมดเลยครับ

     

    ทำ menu สำหรับผู้ใช้ทั่วไปและสมาชิก

    ไม่นานมานี้ต้องทำ menu item สำหรับให้สมาชิกเพิ่มเนื้อหาได้โดยทำเป็น menu ไว้แล้วตั้ง permission ให้ผู้ใช้ที่ไม่ได้เป็นสมาชิกไม่สามารถสร้าง content ได้แต่ปัญหาคือ menu จะไม่แสดงเลยหากผู้ใช้ไม่ได้ login (เนื่องจากไม่มี permission) เลยหาวิธีแล้วก็ได้วิธีแก้ ง่ายๆด้วย php ดังนี้

    &lt;?php<br />global $user;<br />if ($user-&gt;uid) <br />{     drupal_goto('node/add/page'); <br />&nbsp;} else { <br />&nbsp;drupal_goto('user/login', 'destination=node/add/page'); <br />&nbsp;}<br />&nbsp;?&gt;

    สั้นๆ ง่ายๆ :)

    Stack overflow confirmed

    ยังคงอยู่กับปัญหาเดิมๆ pcre แต่เจอ 616, 40846, 43031 มายืนยัน stack overflow

    <

    p>

    เพิ่มเติม

    ดูคำที่ใช้ค้นหาเพื่อมาที่เว็บเราใน Drupal

    คนทั่วไปใช้คำอะไรหาถึงเจอเว็บเรา บางทีเจอคำประหลาดด้วย 555

    คราวก่อนได้แก้ไขหน้า Recent hits เพื่อให้แสดง Referer ซึ่งต้องแก้ไฟล์ที่มากับ Drupal ซึ่งไม่ค่อยถูกหลักเท่าไหร่ เพิ่งไปเจอโมดูล Search Engine Referers ซึ่งทำได้เกือบจะเหมือนกันและใช้ง่ายกว่าเยอะ แต่รุ่นปัจจุบัน (6.x-1.0) ยังไม่แสดงว่าคำที่ใช้ค้น (keyword) นั้นลิงก์มาที่หน้าไหน ต้องแก้ไฟล์อีกนิดหน่อย (แก้ไฟล์จนได้ 555) โดยรวมเอา patch นี้เข้าไปด้วย ก็จะได้ฟังชั่น search_engine_referers_overview() ออกมาเป็น (ส่วนที่แก้เป็นตัวเข้มครับ)

    อ่านเพิ่มเติม

    A known problem in pcre and preg_match()

    เจอปัญหาแปลกๆ apache2 ตายแบบมีข้อกังขา ไม่ถึงกับถี่ แต่ก็ไม่ควรเกิด

    [Sun May 31 06:01:44 2009] [notice] child pid 19028 exit signal Segmentation fault (11)

    <

    p>หลังจากที่บังคับพ่น core แล้วใช้ gdb ไล่จิก ก็พบความลับสวรรค์

    เพิ่มเติม