theme แบบนี้ต้องทำอะไรบ้าง มาช่วยกันออกไอเดียกันครับ

By poakpong

เห็นกระทู้ในหมวดพัฒนาธีมมันดูนิ่งๆ ผมเลยมาเปิดประเด็นเรื่อง theme สักหน่อยดีกว่านะครับ

ยกตัวอย่างแบบที่(น่าจะ)ง่ายๆ หน่อย ว่าถ้าอยากได้หน้าตาแบบนี้ สามารถปรับแต่งแบบไหนได้บ้าง ? (แต่ละคนอาจมีเทคนิคต่างกัน เอามาแชร์กันดีกว่า)

howto-theme-1

อันดับแรกก่อนแก้ไข เราควรหา theme ที่สะดวกกับการปรับแต่งมาลงก่อน - ว่าแต่ มันควรเป็น theme ไหนดีครับ ? (อย่าตอบว่า ubuntu ล่ะ แหะๆ) ผมเคยใช้ framework (มันโล่งดี) มี theme ไหนแนะนำเพิ่มเติมป่าว ?

  1. พื้นหลังสีน้ำตามไล่โทน กรอบในสีขาว ขอบมน
  2. โลโก้ของเราเอง
  3. เมนูด้านบน
  4. แบนเนอร์ยาวด้านบนสุด
  5. เมนูด้านซ้าย แบบมีซ้อนลำดับขั้น
  6. แถบโฆษณาด้านข้าง

กระทู้นี้ ขอแค่นี้ก่อน มาแชร์กันว่า drupal มันสามารถพัฒนา โยกย้าย ปรับแต่ง อะไรได้บ้าง ;-)

  • เพื่อความเข้าใจที่ตรงกัน ให้อ้างอิงใน drupal 6.x เป็นหลักแล้วกันนะครับ (ถ้าเป็น 5.x ก็แจ้งกันไว้ด้วย คนที่มาอ่านทีหลังจะได้ไม่งง)
  • เว็บต้นฉบับเอามาจาก เว็บนี้

17 comments

By ruok191
3 years 29 weeks ago

จากที่

จากที่ ติดตาม Open source มา หลายปี

ผมว่าสังคม Open source นี้ ไม่ค่อย ได้ดังใจ

จะศึกษาอะไ รสักอย่าง ใช้เวลานานมาก ถ้าต้องการอะไร แบบ แน่นอน (เวลา ให้ลืมไปเลย)

แล้วข้อมูลที่ได้ ก็แบบ กั๊กๆๆ (บอกหมดเด๋วมัน จะสบายเกิน ให้มันไปหาเองบ้าง)

ไม่รู้ท่าน อื่นเห็ฯเหมือนผมหรือไม่

ผมกำลังทำต้นแบบ ของการแบ่งปัน แบบต่อยอด (แบบเรียนรู้ อย่างการทำ ISO หรือ CMMI) หรือที่กำลัง hit กัน คือ SOA

  1. การติดตั้งระบบ

    • ติดตั้ง server Centos
    • ลง package Mysql apache php ( ซึ่งตรงนี้ น่าจะมีการ ทำไว้แล้ว เป็น open Source มานานยังไม่เห็น content ไหน ทำให้สมบูรณ์ เมื่อสมบูณร์แล้ว ทุกท่านที่จะเขียน บทความอะไร ที่ต้องอ้างอิงความรู้พื้นฐานตรงนี้ ก็ทำ link ไว้ ไม่ต้องมาเขียนใหม่ ต่อยอดได้เลย แต่ที่เห็น มักจะบอกว่า ขั้นตอนการ ลง พวกนี้ ผมไม่พูดถึงนะ ไปหาเอง)

      การอธิบายการติดตั้งนี้ ต้อง สามารถให้คนอ่านสามารถ ติดตั้งตาม path ที่ต้องการได้ไม่ใช้ที่ /usr/local/apache

    อาจจะเป็น /taksin/sonthi/apache

  2. หลังจากนั้น ก็ ลง package Drupal ตรงนี้ มันต้องอธิบาย เกี่ยวกับ apache ให้เข้าใจก่อน ว่า มันไปเอาข้อมูลจากไหนมาแสดงที่หน้าเวฟ จะได้เอา drupal มาใส่ได้ถูก

  3. เมื่อลง package แล้ว ก็มา config เอาแบบ ผิดๆๆๆ ก่อน error ที่เกิดขึ้น ต้องแก้ตรงไหน

    (ผมเพิ่งเริ่มศึกษา ทำมาได้แค่ ตรงนี้ )

  4. เมื่อ config เสร็จ ครวนี้ ก็มาเป็นหัวข้อดังนี้

    • การปรับแต่งเว็บไซต์ขั้นแรก
    • ชนิดของเนื้อหา : Types of conten

- install module and dependency module<br>
- enable module<br>
- config pathauto<br>
- install and enable theme<br>
- config theme<br>
- config user seting<br>
- add user role<br>
- user permission<br>
- add content type<br>
- add taxonomy term<br>

อันนี้ เอามาจาก http://drupal.in.th/node/990


5. เมื่อแสดงหน้าแรกได้แล้ว ต่อไปก็จะเป็นการ ติดตั้้ง module ต่างๆๆ ที่ละอัน เช่น
- web board
- ข่าว
- Theme
- อื่นๆ

6. เมื่อใ้้ช้ อย่างคล้องตัวแล้ว คราวนี้ ก็มา ปรับปรุงตามใจชอบ
แก้ไข Theme ตามที่ต้องการ
การใ้ช้ tool ต่างๆ มาช่วย

7. การเพิ่ม ลูกเล่น ต่างๆๆ Tip


ท่านใด อยากเพิ่ม หัวข้ออะไร แสดงความคิดเห็นเรยครับ

By mk
3 years 29 weeks ago

เนื่องจาก

เนื่องจากโค้ดเป็นของฟรี เขาก็เก็บ howto เอาไว้หากินครับ

โอกาสไม่มีปิดถ้ามีความสามารถ อยากได้อะไรก็ขวนขวายหาความรู้เอาเองได้ โค้ดเปิดเสมอ อ่านโค้ดเอา

รูปภาพของ Gibbo
By Gibbo
3 years 29 weeks ago

เห็นด้วยอ

เห็นด้วยอย่างยิ่งครับ ว่า "โค้ดเปิดเสมอ และโอกาสก็ไม่ได้ปิด" และส่วนหนึ่งที่เป็นน้ำเลี้ยง open source ให้เติบโตได้ ก็เพราะขาย howto นี่แหละ ทั้งบนเว็บไซต์ และ ในหนังสือ

By SevenSeconds
3 years 29 weeks ago

zen theme

zen theme น่าจะได้ครับ ไม่ก็ garland ครับ

รูปภาพของ waterguy
By waterguy
3 years 29 weeks ago

จาก framework

จาก framework ก็น่าจะง่ายนะ เท่าที่คิด เพราะเราจัดตำแหน่งต่างๆเองได้ (ผมไม่เป็น html และ css เลยนะ)
ไล่ตาม เบอร์ในรูปนะครับ

ก็ สร้าง region ตามรูปที่ต้องการ
แล้วก็มาแก้ที่ page.tpl.php ให้ print ตามตำแหน่ง (ตรงนี้ต้องเป็น html ด้วย) จากนั้น ก็ตามข้างล่างเลย

สร้าง block แล้ววางตามตำแหน่งเลยครับ
3 นะจะหา menu ที่ drop down ได้ด้วยมาลง
1 2 4 นี่ ก็วางรูปใน page.tpl.php ปกติ
5 6 นี ก็วางที่ region left ใช้
5 หาmodule อันที่ทำ collapse menu ได้ มาทำ 5
6 สร้าง content type สร้าง view มาวาง อาจต้องลง module image มาช่วย เรื่องรูป

ผมคิดว่าประมาณนี้อะ

รูปภาพของ poakpong
By poakpong
3 years 29 weeks ago

ถ้าเป็นผม

ถ้าเป็นผม ข้อ 2, 5 กับ 6 นี่น่าจะง่ายสุด

  • 2) เปลี่ยน (configure) โลโก (Logo image settings) ในแต่ละ theme เลย หรือว่าเปลี่ยนแบบ global settings ก็ได้ (มั้ง)
  • 5) ก็สร้าง link โดยแก้ไขใน Menus แล้วเลือกเพิ่ม/แก้ไข Navigation จัดเรียงให้เรียบร้อยก็น่าจะได้
  • 6) ถ้ามีไม่มาก ก็สร้าง Blocks ขึ้นมาเอง (อาจเขียนด้วย html ง่ายๆ) แล้วใส่ไว้ใน Region Left ซะเลย, แต่ถ้ามีเยอะแล้วต้องจัดการบ่อยๆ อันนี้ อาจจะสร้างแบบคุณ waterguy บอก
By ruok191
3 years 29 weeks ago

basic Install

basic

  • Install Drupal
  • Themes
  • Blocks
  • Contents
  • Modules
  • Contact forms
  • Web forms
  • Events
  • Tiny MCE
  • Books
  • Menu manipulation
  • Customized blocks
  • Images

advance

  • Install Linux OS
  • Install Apache, MySQL, PHP
  • Create/Edit themes
  • CSS
  • Advanced modules
  • Views
  • Gallery 2
  • Civi CRM
  • Localizer
  • Etc. for Web developer

ฝากข้อมูลไว้

By ruok191
3 years 29 weeks ago

To set up a personal site

To set up a personal site with Drupal, you have to download Drupal, install it, and then add these modules:

Pathauto
Token
Smileys
CCK
Views
Gallery

If the admin panel is too confusing, add the Drupal Administration Menu module

By ruok191
3 years 29 weeks ago

หนังสือเข

หนังสือเข้้าไป d/l

Image Hosted by ImageShack.us

By ruok191
3 years 29 weeks ago

อีกเล่ม

อีกเล่ม

Image Hosted by ImageShack.us

รูปภาพของ peachband
By peachband
3 years 29 weeks ago

ว้าว

ว้าว อยากได้จัง >_<

By SevenSeconds
3 years 29 weeks ago

เข้าใจว่า

เข้าใจว่าอยากแจก แต่ติดลิขสิทธิ์หรือเปล่าครับ หรือหนังสือเป็น CC
ถ้าติดลิขสิทธิ์น่าจะแจกในเมล์จะดีกว่านะครับ ไม่ควรโจ่งแจ้งเกินไป

By SevenSeconds
3 years 29 weeks ago

ตรงขอบมนข

ตรงขอบมนของสีขาวๆ นะครับ สามารถทำได้สองแบบ
1. ทำขอบบน ทำขอบล่างให้มนๆ แล้วตรงกลางไล่ background เป็นเส้นเอาครับ อันนี้ใช้ 3 div ครับ
2. ใช้ขอบสี่ด้านเลยอันนี้จะใช้ 5 div ครับ โดยใส่ css background: transparent url("ur") no-repeat scroll h v ไอ้ตัว horizontal กับ vertical ของ background สำคัญครับกรณีนี้ เพราะว่าต้องวางไว้ให้มันเขยิบไปให้ถูกตำแหน่งครับ โดยจะใช้ทั้งหมด 4 มุม คือ 4 div ส่วนตรงกลางจะเป็นการไล่ bg ให้ repeat-yครับ ให้ความสูงของ bg เีพียง 1px ครับ
ข้างบนนี้ถ้าใช้ zen theme เค้าจะมี page กับ page-inner อยู่คู่กันครับ โดยจะสังเกตุได้ว่าส่วนใหญ่จะมี div หลัก แล้วก็ div inner อยู่คู่กันตลอดครับ ส่วนวิธีใช้ของผมก็ สมมติว่า div id="page" ก็จะเป็นการวางตำแหน่งให้ div นั้นครับ ส่วน div id="page-inner" จะเป็นการจักรูปแบบการย่อหน้าต่างๆ ให้กับ div ครับ แต่ผมก็ไม่ทราบว่าถูกหรือไม่นะครับ เพียงแต่คิดว่ามันควรจะเป็นอย่างนั้น

ส่วนตัว body ใส่ css backgroundไล่สีพื้นไปตาม repeat-x ซึ่ง bg ให้มีขนากกว้างเพียง 1 px ก็เพียงพอครับจะได้โหลดไม่หนักมาก
ส่วน primary link ตำแหน่งที่สองจากในรูป ก็ใช้ ul li css display: inline เอาครับ ในตัว li ใส่ float: left; width: xx% ไว้ครับ
ส่วน 2 5 6 ก็ตามที่ข้างคุณ waterguy กับ poakpong บอกเลยครับ

รูปภาพของ Blue Rabbit
By Blue Rabbit
3 years 29 weeks ago

ส่วนที่ [3]

ส่วนที่ [3] เป็นเมนูหลักของเว็บ อาจใช้ Primary links หรือสร้างชุดเมนูขึ้นมาใหม่ก็ได้ครับ
ถ้าอยากให้เมนูเป็นแบบ drop down menu ลองใช้โมดูล Nice Menus

รูปภาพของ Gibbo
By Gibbo
3 years 29 weeks ago

อาจจะไม่เ

อาจจะไม่เกี่ยวกับธีมแบบเว็บตัวอย่างโดยตรงนะครับ แต่ขั้นตอนทำธีมสำหรับคนขีเกียจเขียนโค้ดมากมายแบบผม จะเป็นประมาณนี้ครับ

0. ออกแบบธีม วาดคร่าวๆใส่กระดาษ พอให้นึกออกว่าหน้าเว็บมันจะเป็นยังไง (ถ้าใช้พวกโปรแกรมกราฟิค ความคิดจะฟุ้งซ่าน เพราะมักจะนึกไปไกลก่อนเวลาอันควร)

1. เขียน markup เลย์เอาต์ เป็น html + css ก่อน เพื่อกำหนดตำแหน่ง header , content (node) , sidebar(s) , footer รวมทั้งฟอนต์และโทนสีคร่าวๆ

2. กำหนด block region ในไฟล์ themename.info (ชื่อธีมใหม่ของเรา) แล้วพอร์ต html เป็นไฟล์ page.tpl.php กับ node.tpl.php + css (style.css) ดูเพิ่มเติมที่ http://drupal.org/node/171194

3. Activate ธีม และโมดูลต่างๆที่เราจะใช้ เพื่อดูรายละเอียด เวลาพอร์ตมาเป็น drupal theme มันจะแตกต่างจากตอนเป็น html เพราะ drupal มันจะโหลดไฟล์ css ของแต่ละโมดูลมาด้วย ดูเพิ่มเติมที่ http://drupal.org/node/263967

4. Graphic Things อันนี้เป็นเรื่อง Visual Design ครับ เช่น พวกโลโก้ และการตกแต่งอื่นๆ + css แล้วแต่รสนิยมของแต่ละคนไป

5. ไฟล์เสริม เช่น block.tpl.php , comment.tpl.php ฯลฯ ถ้าต้องการแก้ไข (ส่วนมากแก้ในไฟล์ css ก็ได้)

6. IE CSS Hack (งานที่น่าเบื่อที่สุด) ถ้าเลย์เอาต์เราไม่ซับซ้อนมาก ก็แก้เฉพาะส่วนที่มันมีปัญหา โดยเฉพาะใน IE6 ลงมา

6.1 ถ้าต้องการตรวจสอบหน้าเว็บใน IE หลายๆเวอร์ชั่นพร้อมกัน ก็ลองติดตั้ง Multiple IE ได้ มีตั้งแต่ IE3 - IE6 (เพื่อให้เราเลือกดูความห่วยของมัน)

6.2 ถ้าขี้เกียจแฮ็ค css ก็ใช้ javascript ของ Dean Edwards แทนได้ ดาวน์โหลดได้ที่ http://code.google.com/p/ie7-js/ แล้วใช้ Conditional Comments เพื่อไม่ให้บราวเซอร์ตัวอื่นโหลด javascript ตัวนี้ เพราะมันจำเป็นสำหรับเฉพาะ IE

7. User Interface อันนี้เป็นส่วนเสริมครับ ถ้าต้องการเพิ่มลูกเล่นให้น่าสนใจ สไตล์ Web2.0 หรือ AJAX ก็คงต้องศึกษาเรื่อง javascript กันหน่อย อันนี้ผมก็กำลังศึกษาอยู่เหมือนกันครับ เพราะ drupal ใช้ library ยอดนิยมอย่าง jQuery อยู่แล้ว แถมมี jQuery UI Module ด้วย ลองไปดูว่า jQuery UI ทำอะไรได้บ้าง ที่ http://ui.jquery.com/demos

8. Optimization เคลียร์อะไรที่ไม่จำเป็นออกไป ทั้งในโค้ดและไฟล์กราฟิค อะไรลดขนาดไฟล์ได้ ก็ต้องทำ เพราะถึงแม้เว็บจะสวยขนาดไหน แต่ถ้าโหลดช้า คงไม่มีใครอยากเข้าไปดู จริงไหมครับ?

9. สังเกตความรู้สึกของผู้ใช้งาน อันนี้คงดูได้คร่าวๆนะครับ ว่าใครเข้ามาทำอะไรในเว็บไซต์เราบ้าง ถ้าใน Drupal ก็สังเกตใน report หรือ log (ส่วนพวกสแปมไม่ต้องคิดว่ามันเป็นผู้ใช้งาน ผมใช้ mollom เพื่อแยกระหว่าง มนุษย์ กับ spambots ครับ) หรือใช้ Google Analytics ก็จะมีสถิติละเอียดขึ้นมาอีกหน่อย สำหรับ Drupal ก็มี Google Analytics Module ให้ดาวน์โหลด

By SevenSeconds
3 years 29 weeks ago

ชอบข้อ 6

ชอบข้อ 6 มากเลยครับ น่าเบื่อที่สุดที่ต้องมาเขียนให้รองรับ ie browser ตัวอื่นเค้ารันกันได้คล้ายๆ กันเกือบหมด มีแต่ ie เจ้าเดียวที่มีปัญหา 6.1 กับ 6.2 นี่มีประโยชน์จริงๆ ครับ ไม่เคยใช้เหมือนกัน ไว้ต้องลองเสียหน่อย

รูปภาพของ nau-al
By nau-al
3 years 27 weeks ago

ข้อ

ข้อ 6.2

อยากถามว่า

js ของ Dean Edwards ใช้ใน Drupal ไงครับ