มึนๆ (ไร้สาระ)

11 06 2008

ต่อไปอาจจะเริ่มเขียนเรื่องปัญญาอ่อนเรื่อยๆอะนะ เพราะไม่รู้จะเขียนอะไร แถมมีคนบอกว่าเขียนไรก็เขียนไปเถอะ

 

ช่วงนี้เป็นอะไรหว่า

รู้สึกแปลกๆ ทำอะไรมันมักจะไม่ได้อย่างที่คิด ทำนองคิดแบบนึงแต่กลับทำอีกแบบนึง

คิดจะพูดอะไรก็พูดออกมาไม่เหมือนกับที่คิด เวลาพิมพ์บางทีก็คิดไว้ว่าจะพิมพ์อะไร แต่ขนาดมองแป้นยังพิมพ์ผิดเป็นอีกคำ - -”

เริ่มมึนกับตัวเองแฮะ สงสัยต้องฝึกสมาธิหละมั้ง (ทำไรไม่ค่อยมีสมาธิซักเท่าไร) แบบวันนี้หลังเที่ยงก็ไม่ค่อยสมาธิซักเท่าไหร่เลย n_n

 

หลังจากไม่ได้วิ่งไปนานในที่สุดก็จะเริ่มไปวิ่งอีกครั้ง (คราวนี้ต้องลดน้ำหนักแบบจริงจังให้ได้ เป้าหมายคือ 65 kg.)

จะได้ผอมซะทีน้ำหนักมันมีแต่เพิ่ม (เครื่องชั่งน้ำหนักที่บ้านก็ไม่รู้พังรึเปล่าเดี๋ยวขึ้นเดี๋ยวลง)

แต่ที่จริงไปวิ่งมันก็ดีเหมือนกันนะ บางครั้งก็ได้เจอคนรู้จัก บางครั้งก้ได้เจอทิวทัศน์ที่สวยงาม ^^

แต่วิ่งแล้วเหนื่อย แถมปวดขาอีก -”- แต่ถ้ามีทิวทัศน์ที่สวยงานให้ดูบ่อยๆก็คงต้องทนหละนะ n_n





Gallery2 Part2

6 06 2008

ก่อนหน้านี่ก็เคยเขียนเรื่องเกี่ยวกับ Gallery2 ไปแล้วนะครับ ก็ยังเป็นมือใหม่อยุ่นะครับผิดประการใดช่วยชี้แนะด้วยครับ

ซึ่งในช่วงนี้ก็ได้ลองเล่นๆ กับมันอีกนิดหน่อยก็ไปเจอบางอย่างเข้า

ในตอนแรกที่ใช้ Gallery2 ร่วมกับ Drupal (ใช้ Drupal 5.7) ในส่วนของการ Setup มีให้ใส่ URL ตอนแรกก็นึกว่าจะให้ใส่

URL จากภายนอก (ติดตั้ง Gallery2 ไว้ที่อื่น) แต่หลังจากลองดูปรากฎว่าตัว Module หาที่เก็บไฟล์ไม่เจอ (เนื่องจากหาในเครื่องที่ลง Druapl) เริ่มต้นคิดว่าจะเอาไฟล์ไปเก็บในที่ๆมีเนื้อที่เยอะๆ แล้ว Setup Drupal ไว้ Host ตัวอื่น

แต่พอลองทำมันกับทำไม่ได้ (อาจเป็นเพราะเล่นไม่มากพอเลยทำไม่ได้ หรือหาที่ Setup ไม่เจอ) แต่ก็ไปเจอบางอย่างที่มองข้ามไปแทนคือ

การทำ Multisite เป็นการ Setup ตัว Gallery2 หลายๆตัวในเครื่องเดียว โดยจะมี Codebase ตัวเดียว ทำให้ลดส่วนที่ซ้ำซ้อนลง โดยเหลือเพียงบางไฟล์ที่ต่างกันแทน (Upload Codebase ของ Gallery2 ทีเดียวแล้วใช้ทำเป็นหลาย Site)

ส่วนวิธีลงก็จะลงตามขั้นตอนธรรมดา แต่จะต้องไปเลือก Multisite installation ใน Step ที่ 3 Installation Type ซึ่งจะต้องทำการใส่ Path ว่าจะเก็บไฟล์ไว้ที่ไหน การเก็บไฟล์ และ Database แต่ละ Site จะแยกกัน

ข้อมูลเพิ่มเติมที่ Gallery2.org





Pathauto

30 04 2008

เรื่องนี้ก็จะเป็นเรื่องที่เกี่ยวกับ URL โดยปกติเมื่อเราสร้าง Content Path ที่ได้มักจะเป็น Path ที่ไม่สื่อความหมาย

เช่น node/1 เรารู้ว่าเป็น Node ที่ 1 แต่เนื่อหาข้างในหรือข้อมูลอื่นๆหละในส่วนนี้อาจจะมีการทำ URL aliases ได้แต่เราก็ต้องทำกับทุก Content ที่เราทำการสร้าง ซึ่งถ้าเราต้องการให้สร้างเองโดยเราไม่ต้องไปคอยกำหนดสำหรับทุก Content ที่เราสร้างหละ สำหรับ Drupal จะมี Module ที่จะมช่วยงานตรงนี้ได้คือ Pathauto ซึ่งตัวนี้จะสามารถจัดรูปแบบของ URL ได้ว่าต้องการให้ URL จะเป็นลักษณะไหนโดยกำหนดเป็น Pattern เมื่อทำการสร้าง Content ใหม่ก็จะทำการสร้าง URL ตามที่เรากำหนด เช่น อาจเป็น Node-Type/Node-Title





User

30 04 2008

มาเรื่องระบบจัดการ User กันบ้างดีกว่า (ยังเล่นได้ไม่เยอะเท่าที่ควรนะครับ) ซึ่งสำหรับตัวนี้ก็เป็นตัวที่ใช้งานง่ายไม่ค่อยมีอะไรซับซ้อนเท่าไร (ถ้าไม่ต้องการอะไรมาก) ในตัว Drupal จะมีส่วนของ User management อยู่ซึ่งเราสามารถมาเล่นในเรื่องของ User ได้ในส่วนนี้

อันแรกก็จะเป็นเรื่องของ Role ซึ่งจะเป็นการกำหนดสิทธิ์ของ User โดยที่เราสามารถเพิ่ม Role ได้ในส่วนของ Roles

โดยเมื่อสร้างแล้วเราก็สามารถกำหนดสิทธิ์ของ User หรือจะแก้ไขได้ในส่วนนี้ โดยการกำหนดสิทธิ์ในส่วนนี้จะเห็นแต่ Role ที่เลือก แต่ถ้าต้องการกำหนดสิทธิ์ของหลายๆ Role เราสามารถไปทำได้ที่ Access control

ส่วนของข้อมูล User ก็จะอยู่ใน Users ซึ่งในส่วนนี้เราสามารถทำการเพิ่มแก้ไขข้อมูล User ได้โดยเราสามารถทำงานกับหลาย User ได้พร้อมกัน (ในส่วนที่สมควรทำได้ เช่น ลบ) การกำหนด Role ของ User ก็ทำในส่วนนี้

ส่วนของ User settings ในส่วนนี้เราสามารถปรับการสมัครสมาชิกของ User ได้ หรือจะเป็น Mail ที่จะส่งไปหา User ก็จะแก้ไขที่นี่

ในเรื่องการเปิดให้ User มาสมัครแล้วทำการกรอกข้อมูลที่เราต้องการเราก็จะทำการ Enable Module Profile ซึ่งจะมีส่วนของ Profiles ขึ้นมาให้เลือก ในส่วนนี้เราสามารถสร้าง Field ที่ต้องการให้ User กรอกได้

แต่ในเรื่องการกำหนดสิทธิ์ของ User ในส่วนของ Access control ก็ยังเป็นแบบที่ไม่ละเอียดนักอาจไม่เพียงพอกับความต้องการ ในส่วนนี้เราก็มี Module ช่วยหลายตัว

เช่น

Nodeaccess สำหรับ Module ตัวนี้นั้นเราจะสามารถกำหนดสิทธิ์ในการเข้าถึง Node ต่างๆได้ โดยที่ Module ตัวนี้จะให้เรากำหนดการเข้าถึงโดยแบ่งเป็นประเภทต่าง และมี Role ต่างๆให้กำหนดสิทธิ์โดยแบ่งเป็นการ ดู แก้ไข และการลบ

Path Access สำหรับ Module ตัวนี้ใน Role ต่างๆเราจะทำการกำหนด Path ที่จะให้เข้าถึงโดยสามารถกำหนดได้ว่าสำหรับ Role นี้จะเข้าถึง Path ไหนได้หรือไม่ได้





Unique Field

30 04 2008

ในบางครั้งข้อมูลบางอย่างเราก็ไม่ต้องการให้ใส่ซ้ำกัน ซึ้งเราก็ต้องทำการตรวจสอบข้อมูลนั้น

แต่สำหรับ CCK นั้นมี Module เสริมที่จะช่วยตรงนี้คือ Unique Field

เราสามารถไปกำหนดได้โดยการเข้าไปใน Content Type ที่เราต้องการกำหนดให้มี Field ที่ไม่สามารถใส่ข้อมูลซ้ำได้

โดยเข้าไปที่ Administer -> Content management -> Content types เข้าไปที่หน้า Edit

ในส่วนบนจะมี Unique Field Configuration ให้ปรับแต่ง โดยเราก็จะสามารถเลือกได้ว่าต้องการให้เป็น แต่ละ Field ต้องไม่ซ้ำกัน หรือว่าเป็นหลาย Field รวมกันแล้วไม่ซ้ำ โดยเลือก Field ได้จาก Check Box ด้านล่างในส่วนของ Choose the fields that should be unique:





Explainfield CCK Widget

30 04 2008

ในบางครั้งเราต้องการสร้าง Form ที่ให้ User เลือกแล้วอาจมี Option ให้ใส่ (พวก อื่นๆ แล้วมีช่องให้ใส่ข้อมูล)

่ซึ่งสำหรับ Explainfield CCK Widget ก็เป็น Module เพิ่มสำหรับ CCK โดยที่จะเป็น Field ที่สามารถใส่ Option ได้ว่าถ้าเลือกแล้วจะมีช่องสำหรับกรอกข้อความออกมาให้ใส่ข้อมูลเพิ่ม

โดยจะมี ให้ใช้เป็น select list หรือ check boxes/radio buttons เท่านั้น

ซึ่งเรามีการกำหนดค่า Key และ Value โดยที่เราจะเอาค่า Key ไปใช้บอกว่าเมื่อเลือกอันไหนแล้วจะให้ช่องสำหรับกรอกข้อความขึ้นมาให้กรอก โดยไปกำหนดที่ Trigger key: ว่าจะให้ Key เป็น Key ที่มี Option ให้ใส่

และไปกำหนดชื่อ และรายละเอียดของ Field ที่จะขึ้นมาที่ส่วนของ Explain Field Options





Date

30 04 2008

สำหรับตัวนี้จะเป็น Module เสริมของ CCK นะครับ โดยที่ Module Date นั้นก็ตามชื่อครับ

โดย Module ตัวนี้จะเพิ่ม Type ของ Field คือ Field Date นั่นเอง

หลังจากทำการลง และ Enable Module แล้วเมื่อเข้าไปที่ Content Type เลือก Content Type ที่ต้องการ หรือสร้างใหม่

เมื่อทำการ Add Field จะมี Field Type ที่เป็น Date ให้เลือก

เมื่อเลือกแล้วจะมี Option ต่างๆให้ปรับแก้

เช่น

  • การกำหนดช่วงที่จะให้เลือกซึ่งอยู่ใน Years back and forward:
  • การแสดงผลของวันที่ที่จะให้ User เห็น (ทั้งตอน Input และ Output)
  • เลือกการแสดงผลว่าต้องการอะไรบ้าง วัน เดือน ปี เวลา




Block

18 04 2008

หากเราต้องการให้มีการแสดงข้อมูลหลายๆอย่างในหน้าเดียวกัน และมีการแยกประเภท เช่น มีข่าวประกาศ มีกิจกรรม

สิ่งที่เราใช้ก็จะเป็น Taxonomy (ใช้แยกประเภท) Views (ใช้กรอง Content ที่ต้องการ) Block (ใช้ในการจัดส่วน)

ใน Views จะสังเกตว่าเราสามารถสร้างเป็น Block ได้ซึ่งเราจะใช้ความสามารถตรงส่วนนี้

โดยสร้าง View ของ Content แต่ละประเภทที่เราต้องการ Show โดยให้เป็น Block

หลังจากนั้นก็ไปที่ Block แล้วก็เลือกให้ Block แต่ละอันที่สร้างขึ้นไปอยู่ในที่ๆเราต้องการ ซึ่งเราสามารถเรียงลำดับได้

และหากต้องการปรับแต่งรายละเอียด เช่น ต้องการให้ Block Show หน้าที่กำหนดก็สามารถเข้าไปกำหนดได้โดยไปปรับที่ Configure ซึ่งการกำหนดหน้าที่จะให้แสดงจะอยู่ด้านล่าง





Views

18 04 2008

Module อีกตัวที่ค่อนข้างมีประโยชน์ (สำหรับตัวนี้ยังเล่นได้ไม่เท่าไร)

Module Views สำหรับตัวนี้ก็ตามชื่อแหละครับ แต่ไม่ใช่การไปยุ่งเกี่ยวกับ CSS แต่เป็น View ของกลุ่มของ Contents

ซึ่งเราต้องการที่จะสร้าง View ที่จะนำ Contents มาแสดงโดยการสร้าง View จะมี 2 แบบคือ Page และ Block

ก็แน่นอนเริ่มจากการ Download Module มาลงและ Enable

หลังจากนั้นเมื่อเข้าไปที่ Site building -> Views ไปที่ Add

จะมีให้ใส่ชื่อ View การกำหนดสิทธิ์ ว่าจะให้มี User ระดับไหนบ้างที่จะเข้าได้

เราสามารถเลือกได้ว่า VIew จะเป็น Page หรือ Block หากต้องการให้เป็น 2 แบบก็ได้ ซึ่งต้องการให้เป็นแบบไหนก็

เลือกที่ Provide Page View ส่วน Block ก็เป็น Provide Block

จะมีการเลือรูปแบบแสดงผลของ Node (หากเลือกเป็น Table View หรือ List View จะต้องไปกำหนดใน Fields ว่าจะเอา Field ไหนมาแสดง)

ส่วนที่จะต้องไปกำหนดอีกที่ก็คือ Filters ที่จะเป็นตัวกรองว่า Content อันไหนบ้างที่จะนำมาแสดง





Content Construction Kit (CCK)

18 04 2008

ก็พึ่งจะได้เริ่มเล่น Drupal มาได้นิดหน่อย เลยมาแนะนำ Module บางตัวที่น่าสนใจ

สำหรับ Content Construction Kit (CCK) นั้นจะเป็น Module ที่ใช้จัดการเกี่ยวกับ Content Type

ที่ให้เราสามารถสร้าง Content Type ตามแบบที่เราต้องการ และยังมี Module อื่นๆที่ใช้ร่วมกันอีกหลายตัว เช่น

Date, Email field, Textfield Autocomplete, Unique field, Explainfield CCK widget

สำหรับการใช้งานขั้นแรกก็ไป Download Module มาลงก่อนนะครับ

และทำการ Enable Module โดยไปที่ Site building -> Modules

หลังจากที่ทำการ Enable Module เรียบร้อยแล้วไปที่ Content management -> Content types

จะพบว่าสามารถ Add content type ได้

เมื่อทำการเพิ่ม Content type จะให้เราใส่ชื่อ, type Content type ที่เราต้องการสร้าง และจะมี Field ที่บังคับว่าต้องมีคือ Field Title ซึ่งราสามารถเปลี่ยนชื่อได้ ส่วน Field Body หากไม่ต้องการก็ให้เว้นว่างไว้ (ลบคำว่า Body ออก)

เมื่อเราได้ Content type ที่เราต้องการแล้วก็จะทำการเพิ่ม Field ที่เราต้องการให้มีเข้าไป โดยไปที่ Add field จะมีให้ใส่ชื่อ Field และให้เลือก ประเภท ของข้อมูลที่เราต้องการ (เลือกประเภทข้อมูลได้ครั้งเดียว) หลังจากนั้นเมื่อกด Create field ก็จะมีให้ Setup ส่วนอื่นๆ โดยเราสามารถเปลี่ยน Interface (Widget) ได้ เปลี่ยน Label เป็นคำที่ต้องการให้ User เห็น กำหนดค่า Default การ Required (จะขึ้นเป็นช่องที่ต้องใส่ข้อมูล)

การจัดการ Field จะอยู่ที่ Manage fields ซึ่งเราสามารถกำหนดลำดับของ Field หรือเข้าไปแก้ไขได้

ปล. ใน Drupal การจัดการ Content จะอยุ่ในรูปแบบ Node (Table node) เมื่อเราทำการสร้าง Content type เพิ่มขึ้นมาจะมีการสร้าง Table content_type_(name) ขึ้นมาซึ่งจะเป็น Table ที่เก็บข้อมูลใน Field ที่เพิ่มขึ้นมาโดยจะเชื่อมกับ Table node