ข่าวที่ดึงมา

Drupal theming approach

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

อ่าน drupal.in.th/node/2309 แล้วเกิดอยากเขียนบล็อกขึ้นมา เพราะเท่าที่ติดตามดู หลายๆอย่างใน Drupal กำลังเปลี่ยนไปในทางที่ดีขึ้น รวมถึงแนวทางการทำธีมที่สะดวกมากขึ้นด้วย ยกตัวอย่างเท่าที่นึกออกตอนนี้ และเกี่ยวกับกระทู้ที่อ้างถึงด้านบน ก็เช่น

ถ้าต้องการปลดปล่อยตัวเองจาก block regions ใน drupal ก็ต้องลองเล่น panels + skinr + views เหมาะสำหรับเว็บไซต์ที่ต้องการเลย์เอาต์ซับซ้อน(มากๆ) เราไม่ต้องเซ็ต block regions ไว้ในธีมเลยก็ได้ แต่ override ใน panels-*-.tpl.php , views-*-.tpl.php แล้วก็กำหนด css style ผ่านทาง skinr

read more

หมวดหมู่: PHP&AjaX

How to Limit Privatemsg Recipients to Specific Users

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

คราวที่แล้วเขียนถึงการส่งข้อความจาก Webform โดยใช้โมดูล Privatemsg ไป คราวนี้ก็ยังคงวนเวียนอยู่กับโมดูล Privatemsg เหมือนเดิม

พอดีเว็บที่กำลังทำอยู่ มี requirement ว่าให้ผู้ใช้สามารถส่งข้อความส่วนตัวถึงผู้ดูแลระบบได้เท่านั้น โดยระบบส่งข้อความจะใช้โมดูล Privatemsg เป็นหลัก

<

p>วิธีทำที่คิดไว้คร่าวๆ ก็คือต้องแก้ไขฟอร์มสำหรับส่ง private message โดยกำหนดชื่อผู้รับไว้ตายตัวคือ admin จากนั้นก็ disable หรือซ่อนฟิลด์ Recipients ซะ ให้ผู้ใช้กรอกเฉพาะ Subject กับ Body พอ แน่นอนว่าพระเอกของงานนี้คือ Form API

หมวดหมู่: PHP&AjaX

Webzer's Studio Revival

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

Finally, I can launch my new demo sites for Drupal contrib. themes after a long period of idleness.

Let's visit my studio or go to Beach, Colourise and Strange Little Town.

All these demo sites are on the same code base (with symlinks) and same database (find it out there: a more secure drupal [multisite] install). But each site still need their own caches and variable settings ($db_prefix array) because they're using different themes. That's one of Drupal's magic which helpful for launching multi-sites with less resource and time consuming (but my laziness is a big burden!).

Webzer.net and my Drupal demo was currently hosted by WebFaction which reliable and full of new tools (and toys) for curious web learners (like me) such as Rails, Django, SVN and other open source software installers (of course, you can find Drupal and other popular CMS too).

Yeah... you can tell them Sungsit loves their service.

read more

หมวดหมู่: PHP&AjaX

Wu Wei

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

Wu wei เป็นแนวคิดที่สำคัญของลัทธิเต๋า ความหมายตามวิกิพีเดียคือ "knowing when to act, and when not to act" และเป็นชื่อธีมของ WordPress โดย Jeff Ngan นานๆ จะเจอธีมที่ถูกใจซักที เลยเอามา port เป็นธีม Drupal ซะ (ลอกชาวบ้านอีกแล้ว 555+)

การพอร์ตคราวนี้พยายามลอกจุดเด่นของ WordPress มาใช้ ไม่ว่าจะเป็น navigation แบบ "อ่านเนื้อหาย้อนหลัง" (ลิงก์ Older entries ด้านล่าง) เพราะปกติเวลาอ่านบล็อก ก็น่าจะอ่านเรียงกันไปอยู่แล้ว คงไม่มีใครคลิกข้ามไปข้ามมาหลายๆ หน้า (หรือเปล่า?)

อีกอย่างก็คือเวลาดู node แบบ full view จะมีลิงก์ไปยัง node ก่อนหน้า และ node ถัดไป ทำให้รู้สึกว่าอ่านแล้วต่อเนื่องดี ไม่ต้องกลับมาหน้าแรกแล้วคลิกเลือก node ใหม่

สำหรับธีมนี้ตั้งใจจะทำให้ support ระบบ category แบบ WordPress ด้วย เพราะดูตัวอย่างบล็อก @bombik แล้วรู้สึกว่าเวิร์กดี

สถานะปัจจุบัน alpha อย่างแรง เอาขึ้นบล็อกเพราะอยากดูว่าใช้กับเนื้อหาของจริงแล้วมันจะเป็นยังไง หวังว่าจะทำเสร็จในปีนี้

หมวดหมู่: PHP&AjaX

The Drupal Book : Best Sellers

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

ภาพประกอบโดย @jrp13th (cc รึเปล่า?)

Roti (alpha) thinks you may like these:
หมวดหมู่: PHP&AjaX

ดูด feed และรูปที่เป็น enclosure ใน Drupal

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

โมดูล feedapi และ feedapi_mapper ใช้สำหรับดูด feed มาสร้างเป็น node ใน Drupal แต่ถ้าอยากดูดรูปมาด้วย (เฉพาะ feed ที่มีรูปใน enclosure หรือส่วนอื่นที่แยกจากเนื้อหาอย่างชัดเจน) ก็สามารถใช้ mapper ด้านล่าง (อันนี้เป็นตัวแก้บั๊กของ ImageField mapper) โดยจะดึงรูปมาบันทึกไว้ และแสดงโดยใช้ filefield และ imagefield ครับ (mapper ด้านล่างเอาไว้ใช้ชั่วคราวครับ จนกว่า FileField mapper จะสามารถทำได้)

  1. เปิดโมดูลทั้ง 4 ที่กล่าวไว้
  2. บันทึกไฟล์ด้านล่างชื่อ feedapi_mapper_imagefield.inc ไว้ใน sites/all/modules/feedapi_mapper
  3. เพิ่ม imagefield เข้าไปใน "ชนิดเนื้อหา" (content-type) ที่จะเอาไว้สร้าง node สำหรับ feed นี้
  4. ตั้งค่า "[user]" ใน Path ของ imagefield ของชนิดเนื้อหา
  5. สร้างผู้ใช้ใหม่ เช่น "host.com"
  6. สร้าง feed node โดยผู้ใช้ใหม่นี้
  7. ไปที่ Map ของ feed node แล้วเลือก map รูปไปยัง field ที่ต้องการ เช่น options->enclosures->image->jpeg: Map to field_image (imagefield): Original file name
  8. รูปที่ดูดมาจะถูกบันทึกไว้ใน sites/default/files/host.com/ ครับ ^ ^
  9. ดูตัวอย่าง node ที่สร้างเสร็จแล้วได้ที่ ข่าวฟุตบอลไทย

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

หมวดหมู่: PHP&AjaX

Drupal training plan

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

หลายๆครั้งที่สอน Drupal แล้วรู้สึกว่ายังไม่ดีพอ แม้โดยมากที่ไปสอนคนเรียนจะบอกว่าดี แต่ที่ยังขัดๆอยู่ คือ รู้สึกว่าในส่วนของการลำดับการสอนนั้น ผมยังลำดับได้ไม่ดี

แต่เดิมคือลำดับประมาณนี้

  • Web Server & CMS
  • Install Drupal
  • Write content
  • ออกแบบโครงสร้างเนื้อหา (Category)
  • Create Content ตาม category
  • Create page
  • Create menu เพื่อเข้าถึง content อิง category
  • ติดตั้ง และ enable theme
  • ติดตั้ง และ enable module
  • Install WYSIWYG
  • user and permission
  • Backup Restore

คือลำดับมันยังไม่ดีพอ ง่ายๆว่า ลองสังเกตุดู ว่าเอาเรื่องติดตั้ง Module ไว้ก่อน User นี่เลวร้ายมาก เพราะพอติดตั้งและเปิด Module แล้ว มันต้องไปกำหนด Permission ด้วย แต่ยังไม่ได้สอนเรื่อง User เลย ดังนั้นเวลาสอน มันเลยมีชะแว๊บชะว๊าบกลับไปกลับมาบ้าง ก็เลยจะลองวางลำดับการสอนซะใหม่ดู

อันนี้คิดในขณะที่ Blog นี่แหล่ะ ยังไงน่าจะมีปรับแก้อีก

  • Web Server & CMS
  • Install Drupal
  • การกำหนดค่าทั่วไป | site info เผื่อจะปรับอะไร, date time, site maintenance
  • ทดลองเขียนเนื้อหา story
  • ตั้งค่า Comment และทดลอง Comment
  • ตั้งค่าอื่นๆ เกี่ยวกับ Content | post setting, rss publishing
  • เขียนเนื้อหา page
  • อธิบายความต่างของ page และ story เปิดให้ดู node property พร้อมอธิบาย Content type
  • การแก้ไขเนื้อหาที่เคยเขียนไปแล้ว | admin > content
  • สร้าง category
  • เขียนเนื้อหา story อิง category
  • สร้างเมนู เพื่อเข้าถึง page และ story ตามแต่ละ category โดยใช้ primary menu ก่อน (เพราะถ้าสร้างเมนูขึ้นใหม่จะต้องไปเปิดที่ Block)
  • ติดตั้งและเปิดใช้ theme
  • user setting สำหรับการสมัครสมาชิก
  • ดูรายชื่อ user และ ทดลองเพิ่มสมาชิก ด้วยการให้ admin create
  • ทดลองเพิ่ม user โดยลองสมัครสมาชิกใหม่ ด้วยตนเอง แล้วให้ admin activate
  • อธิบายเรื่อง roles และกำหนด permission
  • ให้กำหนด permission และลองใช้งานโดย login เป็น user ใหม่
  • เปิด ใช้งาน และการตั้งค่า Module | forum, contact, upload, path, profile, poll
  • ติดตั้ง module เพิ่มเติม การตั้งค่าและเปิดใช้งาน | five star, advanced forum, vertical tab, admin menu
  • input format ประโยชน์และการตั้งค่า
  • ติดตั้ง กำหนดค่า และใช้งาน FCK + imce
  • block แนะนำเรื่อง block position เปิดใช้งานและกำหนดตำแหน่งๆ block ต่างๆ | poll, forum, etc.
  • กำหนดค่า error reporting
  • backup & restore
  • upgrade drupal, module & theme

รู้สึกยังไม่สมบูรณืดี ยังไงคงต้องลองเอาไปสอนดูก่อน สักรอบสองรอบ

หมวดหมู่: PHP&AjaX

Enable drupal module by installer

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

กะลังปรับๆ Drupal ที่จะเอาไปสอนอยู่ ซึ่งตามโจทย์แล้ว มีเวลาสอนประมาณ 5 ชั่วโมง ก็ครั้งก่อนคัดๆโมดูลแล้วก็แพคเป็นชุดไว้ละ แต่ยังรู้สึกไม่พอใจ อยากให้มัน Enable ตั้งกะติดตั้ง Drupal ไปเลย ก็หาๆข้อมูลดู พบว่ามันต้องไปกำหนดที่ profile

ก็ไฟล์อยู่ที่ /profiles/default/default.profile จะมี function default_profile_modules อยู่ ลองมองหาดู อยู่ต้นๆไฟล์เลย

วิธีจะเพิ่ม Module ที่จะ Enable ก็แค่ใส่ชื่อ Module ที่ต้องการลงไป เข้าใจว่า วิธีใช้งาน profile ที่ถูกต้องเราควรเขียน profile ขึ้นมาใหม่ แต่ตอนนี้ขี้เกียจดูว่ามันเขียนยังไง ก็เอาวิธีลูกทุ่งๆไปก่อน

ปล.มาคิดดูอีกที รู้สึกมันโหดเกินไปหน่อย เอาว่าคงจะยัด Module ไว้แล้วไปสอนเขาเปิดใช้งานเอาเองละกัน หวังว่าจะไม่เสียเวลามากนัก

หมวดหมู่: PHP&AjaX

แก้ปัญหา "page not found" สำหรับ drupal

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

เมื่อหลายวันก่อน web ผมเข้าไม่ได้มันขึ้น 404 page not found ที่หน้าแรกเลยไม่รู้หน้าอื่นเป็นหรือเปล่า (ไม่แน่ใจว่าเพราะ cache หรือเปล่าผมเลยเห็นอยู่) กว่าจะรู้ตัวก็ 2-3 วัน = = เลยมาหาวิธีแก้ ก็เลยมาเขียนบอกไว้เผื่อใครเจอนะครับ

 

read more

หมวดหมู่: PHP&AjaX

A Simple Webform and PrivateMsg Integration in Drupal

Planet Drupal Thailand - พุธ, 09/09/2009 - 10:36

ตอนนี้กำลังปรับแต่งระบบเว็บให้เพื่อนอยู่ครับ หลักๆ คือมีหน้า register ที่สร้างจาก Webform โดยมี requirement ว่า เมื่อผู้ใช้ submit Webform แล้วให้ส่งข้อความไปเตือน admin ว่ามีคนสมัครใช้บริการใหม่ด้วย

ตอบไปว่าเซ็ตนิดเดียวก็ได้แล้ว เพราะนึกว่า Webform มันคงสนับสนุน Privatemsg ด้วย แต่ลอง google ดูก็พบกับคำตอบที่น่าเศร้า เลยต้องหาวิธีทำเอาเอง

<

p>ไปๆ มาๆ พบว่าไม่ยากอย่างที่คิด เนื่องจากตอนสร้าง Webform ใหม่ เราสามารถใส่โค้ด additional processing ลงในส่วนของ Webform advanced settings ได้ โดยโค้ดในส่วนนี้จะรันเมื่อข้อมูลที่ส่งเข้ามาผ่านการ validate และพร้อมจะเก็บลงในฐานข้อมูลแล้ว

หมวดหมู่: PHP&AjaX

GCMS เวอร์ชั่น 3

GoraGod.com - พุธ, 09/09/2009 - 10:33
GCMS เป็น CMS ที่ใช้เทคนิค Ajax ในการโหลดหน้าเว็บ ทำให้เว็บไซต์ มีความเร็วสูงขึ้น ไม่ทำให้ user เปื่อที่จะคอยและปิดหน้าเว็บไปเสียก่อนจะโหลดเสร็จ สนับสนุน XHTML CSS (tidy) เป็นระบบ Template สามารถแก้..


หมวดหมู่: PHP&AjaX

การตรวจสอบฟอร์มก่อนส่งว่ามีการเลือก checkbox(Array) ไว้หรือเปล่า

GoraGod.com - พุธ, 09/09/2009 - 10:33
ตัวอย่างการตรวจสอบฟอร์มด้วย Javascript ว่ามีการเลือก checkbox อย่างน้อย 1 ตัว ก่อนการ submit ถ้าไม่มีการเลือกใดๆเลยให้ทำการแจ้งเตือนก่อน


หมวดหมู่: PHP&AjaX

Cascading style sheets (CSS) properties

GoraGod.com - พุธ, 09/09/2009 - 10:33
ตารางค่าและคุณสมบัติของ CSS Attribute Property Possible Values background-attachment value fixed, default background-color: color a color value background-image: location none, url(location) backgro..


หมวดหมู่: PHP&AjaX

ว่าด้วยเรื่อง ขนาด ของ CSS

GoraGod.com - พุธ, 09/09/2009 - 10:33
การกำหนดขนาด ไม่ว่าจะเป็นขนาดของตัวอักษร ความกว้าง ความสูง หรือระยะห่าง ของ element ต่างๆ เป็นสิ่งสำคัญสิ่งหนึ่งที่เราจะออกแบบเว็บไซต์ด้วย CSS เป็นผลสำเร็จ ผลที่ว่า จะทำให้เราได้หน้าเว็บที่เหมือนกัน..


หมวดหมู่: PHP&AjaX

ปัญหาการอัปโหลดไฟล์บน Server ไม่ได้ แต่บน localhost ได้

GoraGod.com - พุธ, 09/09/2009 - 10:33
พอดีมีสมาชิกไปถามผ่านอีเมล์ ผมเลยไล่ให้มาถามบนเว็บอีกที เพราะอยากให้คำถามนี้เป็นตัวอย่างหนึ่งของปัญหา คำถามทำนองนี้ผมเคยตอบมาแล้วในบอร์ดครั้งหนึ่ง แต่ดูเหมือนจะไม่ได้เขียนเป็นบทความไว้ ได้โอกาศเลยม..


หมวดหมู่: PHP&AjaX

การใช้ GFORM ตรวจสอบข้อมูลก่อนการ submit ด้วย Javascript

GoraGod.com - พุธ, 09/09/2009 - 10:33
GForm มีความสามารถในการตรวจสอบฟอร์มก่อนการส่งด้วยครับ ใน parameter ตัวที่ 4 ของ GForm เราสามารถกำหนดฟังก์ชั่นเพื่อตรวจสอบได้ โดยมีรูปแบบการใช้งานเหมือนการใช้ onsubmit ของฟอร์มโดยทั่วๆไปครับ โค้ด Ja..


หมวดหมู่: PHP&AjaX

GAJAX บทที่ 2

GoraGod.com - พุธ, 09/09/2009 - 10:33
Object เป็นส่วนขยาย Class Object ของ Javascript ครับ โดยมี property หรือ ฟังก์ชั่นเพิ่มเติมเข้ามา จาก Class แม่ เช่น isObject isFunction isString isNumber isNull isGElement evalScript


หมวดหมู่: PHP&AjaX

บทที่ 16 Loading กับ AJAX

GoraGod.com - พุธ, 09/09/2009 - 10:33
ในความเป็นจริงแล้ว AJAX ทำ Loading ได้ไม่ยากหรอกครับ เพราะว่าสถานะการณ์มันเอื้ออำนวยอยู่แล้ว สามารถทำได้ด้วยโค้ดไม่กี่บรรทัดครับ


หมวดหมู่: PHP&AjaX

รูปไอคอน รอโหลดเพจ

GoraGod.com - พุธ, 09/09/2009 - 10:33
เว็บที่รวมรวมรูปไอคอนรอโหลดแบบต่างๆ หลายๆแบบ


หมวดหมู่: PHP&AjaX

disabled control เมื่อเลือก select

GoraGod.com - พุธ, 09/09/2009 - 10:33
โค้ดตัวอย่างการใช้ GAJAX เพื่อทำการ enabled หรือ disabled control ที่ต้องการ เมื่อทำการเลือกรายการใน select


หมวดหมู่: PHP&AjaX

Calendar

ล็อกอิน

สมาชิกใหม่

  • ปัตตานี
  • sadis
  • Jameball
  • andy99
  • pook