ทำ 2 theme ในเวปเดียว :D

  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/www/virtual/macmuemai.com/kok/htdocs/includes/unicode.inc on line 345.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/www/virtual/macmuemai.com/kok/htdocs/includes/unicode.inc on line 345.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/www/virtual/macmuemai.com/kok/htdocs/includes/unicode.inc on line 345.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/www/virtual/macmuemai.com/kok/htdocs/includes/unicode.inc on line 345.
  • strict warning: Non-static method view::load() should not be called statically in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/views.module on line 843.
  • strict warning: Declaration of views_plugin_display::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/plugins/views_plugin_display.inc on line 1877.
  • strict warning: Declaration of views_plugin_display_block::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/plugins/views_plugin_display_block.inc on line 193.
  • strict warning: Declaration of views_plugin_display_page::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/plugins/views_plugin_display_page.inc on line 481.
  • strict warning: Declaration of views_handler_field_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_field.inc on line 641.
  • strict warning: Declaration of content_handler_field::options() should be compatible with views_object::options() in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/cck/includes/views/handlers/content_handler_field.inc on line 208.
  • strict warning: Declaration of views_handler_argument::init() should be compatible with views_handler::init(&$view, $options) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_argument.inc on line 745.
  • strict warning: Declaration of views_handler_argument_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_argument.inc on line 770.
  • strict warning: Declaration of views_handler_sort_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_sort.inc on line 82.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_filter.inc on line 585.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_filter.inc on line 585.
  • strict warning: Declaration of views_handler_filter_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_filter.inc on line 609.
  • strict warning: Declaration of views_handler_filter_many_to_one::init() should be compatible with views_handler_filter::init(&$view, $options) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_filter_many_to_one.inc on line 104.
  • strict warning: Declaration of views_handler_filter_term_node_tid::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/modules/taxonomy/views_handler_filter_term_node_tid.inc on line 303.
  • strict warning: Non-static method view::load() should not be called statically in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/views.module on line 843.
  • strict warning: Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /home/www/virtual/macmuemai.com/kok/htdocs/sites/all/modules/views/handlers/views_handler_filter_boolean_operator.inc on line 128.

blog นี้ย้ายมาจาก kblog เดิมบน mmm ครับ

update 16 สค. 52: ของเดิมผมทำเวป kblog หรือว่าเวปส่วนตัวของผมแป่ะรวมเข้าไปใน mmm แล้วผม theme ส่วนของ kblog ให้เหมือนเป็นคนละเวปกัน(แต่ทั้งหมดอยู่ใต้ domain เดียวกัน) มาตอนหลังผมจับแยก kblog มาทำเป็นเวปที่เห็นอยู่นี้ใหม่ แต่เป็น subdomain ของ macmuemai.com อีกทีนึงครับ

ผมเห็นว่าบทความนี้น่าจะยังเป็นประโยชน์สำหรับคนทำเวปด้วย drupal ที่ต้องการ theme แยก node แต่ละแบบให้ไม่เหมือนกัน จึงเอามาไว้ใน blog ปัจจุบันนี้ด้วย


หลังจากที่ทำ blog ของตัวเองแอบเอาไว้ใน mmm ผมคิดว่า จะใช้ theme เดิมของ mmm เลยก็ดูจะกระไรอยู่ วันนี้เลยลองหาทางศึกษาความเป็นไปได้ว่าจะสามารถจัดการ CSS ให้แตกต่างกันเหมือนคนละ theme ในเวปเดียวกันได้หรือไม่บน drupal.org

ได้มาเจอกระทู้นี้ครับ http://drupal.org/node/451446

ที่ผมได้มาเป็นหลักในการแยก theme ของ node หรือว่าเนื้อหาต่าง ๆ ของ drupal ออกจากกัน แต่เดิมผมพอจะทราบวิธีการวาง layout ของ node แต่ละแบบให้แตกต่างกันได้บ้างแล้ว โดยใช้ page-node-xx.tpl.php (ดูตัวอย่างได้จากหน้า iPhone บนเวปครับ)

แต่ที่ผมอยากได้ขึ้นไปอีกคือ ไม่ใช่แค่ layout ที่เปลี่ยนไป แต่ผมอยากเปลี่ยน CSS หรือว่าหน้าตาของ theme ด้วย =)

เลยมาลงที่การควบคุม theme แบบแยกประเภทของ node ครับ ซึ่งเราจะใช้ selector ว่า

.node-type-MyContentType หรือ 
.section-MyContentType

ผมไม่แน่ใจว่าทั้งสองแบบแตกต่างกันอย่างไรนะครับ แต่เขาบังคับการแสดงผลให้เป็นส่วน ๆ ไปตาม content type ที่เราต้องการได้ โดยที่ไม่ไปยุ่งกับ theme ส่วนอื่นของเวป .. ผมเลยเอาตรงนี้มาสร้าง CSS เฉพาะกิจขึ้นมาเพื่อควบคุมส่วนของ Kblog (blog ที่คุณกำลังอ่านอยู่ในตอนนี้) ครับ และนี่เป็นวิธีที่ผมใช้ครับ

  1. สร้าง node-kblog.tpl.php ใหม่ขึ้นมา โดยการ copy ไฟล์ node.tpl.php แล้วเปลี่ยนโครงสร้างข้างในเล็กน้อย
  2. จากนั้นผมก็เริ่มลงมือจิ้ม CSS แล้วควบคุมด้วย .node-type-kblog ไม่ก็ .section-kblog เพื่อ theme เฉพาะส่วน content type แบบ Kblog หรือว่า section นี้ครับ ผลที่ได้คือ ได้ CSS ไฟล์เพิ่มจากของเดิมจาก theme ที่ใช้อยู่มาอีกประมาณ 100 บรรทัด :P

เสร็จแล้วก็ได้ออกมาอย่างที่เห็นนี้ครับ ^o^ / ~

Subscribe

<-- คลิ๊กเพื่อ Subscribe blog ของผมได้จาก RSS FEED อันนี้ครับ