theme ที่ให้มา มันไม่ ถูกใจ เลยสัก คงต้องหาทางเขียนเอง
มีเวปไหนสอนบ้างครับ
http://drupal.org/theme-guide
มีเวปอื่นที่สอนง่ายกว่านี้อีกป่าวครับ ยอมรับเลยว่า ไปอ่าน 2อาทิตย์มาแล้ว ไม่รู้เรื่องเลยครับ
ไม่เข้าใจตรงไหนลองถามได้ครับ
อ่านไม่เข้าใจ เลยไม่รู้จะถามอะไร
ผมไม่รู้เรื่อง engineของ phptemplate เลยไม่ค่อยเข้าใจในการสร้าง theme
ผมมีโจทย์ว่าอยากจะเปลี่ยน ตำแหน่งบางอันของmodule เลยคิดว่า theme มันน่าจะมาตอบโจทย์ได้ อ่านไปอ่านมาเหมือนไม่น่าจะใช่
เปลี่ยนตำแหน่งของบล็อค?
ผมเองก็หัดอยู่ครับ พอดีอ่านจากเว็บของภาษาอังกฤษและทำตามเอา พองมได้บ้าง(ไม่ได้บ้าง) ตอนนี้เริ่มมีธีมของตัวเองครับ แต่ยังทำนู่นทำนี่ได้ไม่มากเท่าไร
อยากจะช่วย แต่คงต้องรอถามคนเก่งๆ ในเว็บนี้นะครับ
มือใหม่หัด Drupal 6.x + ลองแต่งธีมเอง
ผมขออธิบายง่ายๆ แล้วกันครับ เพราะว่าก็ไม่ได้เก่งมาก แต่ขอแชร์ประสบการณ์หน่อย คือตัว engine phptemplate นี่จะมีไฟล์ ที่จำเป็นจริงๆ คือ .theme อันนี้จะค่อนข้างเก่าแล้วรู้สึกว่าตอน drupal v 4.x น่ะครับ แต่ version ใหม่จะเปลี่ยนเป็น file template.php แทน ซึ่งไฟล์นี้จะเป็นที่รวมรวบ function ที่เราจะ hook ต่างๆ ไว้ครับ และที่จำเป็นอีกตัวคือ page.tpl.php ตัวนนี้ต้องมีครับถ้าจะให้รูปร่างหน้าตามันสวยงามตามแบบที่เราออกไว้ ซึ่งทั้งนี้เราต้อง hook function )_regoins ด้วยครับ (ถ้าเราไม่ hook มันก็จะใช้ค่ามาตรฐานตามต้นแบบ ซึ่งการ hook นี่เราเรียกว่า overide ครับ คือการแสดงทับตัวแม่มันนั่นเอง ถ้าเราไม่ overide มาก็จะเห็น theme ของแม่แบบครับ คือ phptemplate นั่นเอง) ซึ่งเป็นตัวบอกว่าเราจะนำ region นี้ไปไว้ในไหนในไฟล์ page.tpl.php อาจจะงง ขอยกตัวอย่างสักหน่อย ผมน้ำมาจาก zen template นะครับ
function (theme_name, phptemplate, theme)_regions() { << อันนี้หมายความว่าจะใช้อันไหนก็ได้นะครับ เช่น zen_regions, phptemplate_regions, theme_regions return array( 'left' => t('left sidebar'), 'right' => t('right sidebar'), 'navbar' => t('navigation bar'), 'content_top' => t('content top'), 'content_bottom' => t('content bottom'), 'header' => t('header'), 'footer' => t('footer'), 'closure_region' => t('closure'), ); }
ซึ่งจะเห็นว่าเรามี regions ตามนี้ เวลานำไปใช้งานก็นำไปใส่ไว้ใน ไฟล์ page.tpl.php ซึ่งเราแทรกเป็นโค้ดได้ว่า
<?php print $region_name; ?>
เช่น
<?php print $content_top; ?>
ซึ่งเราจะเห็น region พวกนี้ได้โดยเราเข้าไปที่ admin/build/block เราจะเห็น region ต่างๆ ที่เราสร้างขึ้นมาครับ คราวนี้เราอยากให้ block อะไรอยู่ตรงไหนก็ใส่ได้ตามที่เราวางใน page.tpl.php ได้เลยครับ
ผมอาจอธิบายแล้วงงๆ รบกวนลองทำแล้วถ้าไม่เข้าใจก็ถามมาก็ได้ครับ อยากให้ศึกษาจาก theme ที่เค้าทำมาแล้วดูก่อนนำครับ เพื่อความเข้าใจเพิ่มขึ้น
ขอโทษครับ อันนี้คือ 5.x หรือ 6.x ครับ
ของผมเอง แทบไม่ได้แตะ template.php กับ page.tpl.php เลย ส่วนใหญ่ทำแต่ในไฟล์ style.css ของผมใช้ 6.x
ของ 5.x ครับ ของ 6.x จะแตกต่างหน่อยต้องมีไฟล์ themename.info ด้วยครับ ตัว drupal ถึงจะมองเห็น theme เราครับ แล้วหลังจาก version 4.x เป็นต้นมาเค้าแนะนำว่าควรนำ theme folder ไปไว้ใน /sites/all/themes ครับ ไม่ควรนำไว้ใน theme เลย เพราะจะจัดการลำบากทีหลังครับ
ขอบคุณครับ (ว่าไปเว็บนี้ น่าจะมีช่องให้กรอก ว่า 5.x, 6.x, 7.x นะครับ ไม่งั้นคุยกันซักพัก งงกันตาย)
เอาประสบการณ์ของผมในการแต่งธีมมั้ง (มือใหม่มากๆ ใช้มายังไม่ถึงอาทิตย์เลย) สำหรับ 6.x นะครับ
ขอบคุณ mnop ที่แชร์ประสบการ์ ^__^
อยากทราบว่า ถ้าจะทำธีมเอง โดยเลียนแบบธีมที่มีอยู่แล้วจากเว็บ สามารถทำได้มั้ยคะ แล้วต้องทำอย่างไร
ทำได้ครับ ใส่โครงสร้างใน page.tpl.php node.tpl.php block.tpl.php ก็ครบ
http://drupal.org/theme-guide
http://drupal.org/theme-guide
มีเวปอื่น
มีเวปอื่นที่สอนง่ายกว่านี้อีกป่าวครับ ยอมรับเลยว่า ไปอ่าน 2อาทิตย์มาแล้ว ไม่รู้เรื่องเลยครับ
ไม่เข้าใจ
ไม่เข้าใจตรงไหนลองถามได้ครับ
อ่านไม่เข
อ่านไม่เข้าใจ เลยไม่รู้จะถามอะไร
ผมไม่รู้เรื่อง engineของ phptemplate เลยไม่ค่อยเข้าใจในการสร้าง theme
ผมมีโจทย์ว่าอยากจะเปลี่ยน ตำแหน่งบางอันของmodule เลยคิดว่า theme มันน่าจะมาตอบโจทย์ได้ อ่านไปอ่านมาเหมือนไม่น่าจะใช่
เปลี่ยนตำ
เปลี่ยนตำแหน่งของบล็อค?
ผมเองก็หั
ผมเองก็หัดอยู่ครับ พอดีอ่านจากเว็บของภาษาอังกฤษและทำตามเอา พองมได้บ้าง(ไม่ได้บ้าง) ตอนนี้เริ่มมีธีมของตัวเองครับ แต่ยังทำนู่นทำนี่ได้ไม่มากเท่าไร
อยากจะช่วย แต่คงต้องรอถามคนเก่งๆ ในเว็บนี้นะครับ
มือใหม่หัด Drupal 6.x + ลองแต่งธีมเอง
ผมขออธิบา
ผมขออธิบายง่ายๆ แล้วกันครับ เพราะว่าก็ไม่ได้เก่งมาก แต่ขอแชร์ประสบการณ์หน่อย คือตัว engine phptemplate นี่จะมีไฟล์ ที่จำเป็นจริงๆ คือ.theme อันนี้จะค่อนข้างเก่าแล้วรู้สึกว่าตอน drupal v 4.x น่ะครับ
แต่ version ใหม่จะเปลี่ยนเป็น file template.php แทน ซึ่งไฟล์นี้จะเป็นที่รวมรวบ function ที่เราจะ hook ต่างๆ ไว้ครับ
และที่จำเป็นอีกตัวคือ page.tpl.php ตัวนนี้ต้องมีครับถ้าจะให้รูปร่างหน้าตามันสวยงามตามแบบที่เราออกไว้
ซึ่งทั้งนี้เราต้อง hook function )_regoins ด้วยครับ (ถ้าเราไม่ hook มันก็จะใช้ค่ามาตรฐานตามต้นแบบ ซึ่งการ hook นี่เราเรียกว่า overide ครับ คือการแสดงทับตัวแม่มันนั่นเอง ถ้าเราไม่ overide มาก็จะเห็น theme ของแม่แบบครับ คือ phptemplate นั่นเอง) ซึ่งเป็นตัวบอกว่าเราจะนำ region นี้ไปไว้ในไหนในไฟล์ page.tpl.php อาจจะงง ขอยกตัวอย่างสักหน่อย
ผมน้ำมาจาก zen template นะครับ
function (theme_name, phptemplate, theme)_regions() { << อันนี้หมายความว่าจะใช้อันไหนก็ได้นะครับ เช่น zen_regions, phptemplate_regions, theme_regions return array( 'left' => t('left sidebar'), 'right' => t('right sidebar'), 'navbar' => t('navigation bar'), 'content_top' => t('content top'), 'content_bottom' => t('content bottom'), 'header' => t('header'), 'footer' => t('footer'), 'closure_region' => t('closure'), ); }ซึ่งจะเห็นว่าเรามี regions ตามนี้ เวลานำไปใช้งานก็นำไปใส่ไว้ใน ไฟล์ page.tpl.php ซึ่งเราแทรกเป็นโค้ดได้ว่า
เช่น
ซึ่งเราจะเห็น region พวกนี้ได้โดยเราเข้าไปที่ admin/build/block เราจะเห็น region ต่างๆ ที่เราสร้างขึ้นมาครับ คราวนี้เราอยากให้ block อะไรอยู่ตรงไหนก็ใส่ได้ตามที่เราวางใน page.tpl.php ได้เลยครับ
ผมอาจอธิบายแล้วงงๆ รบกวนลองทำแล้วถ้าไม่เข้าใจก็ถามมาก็ได้ครับ อยากให้ศึกษาจาก theme ที่เค้าทำมาแล้วดูก่อนนำครับ เพื่อความเข้าใจเพิ่มขึ้น
ขอโทษครับ
ขอโทษครับ อันนี้คือ 5.x หรือ 6.x ครับ
ของผมเอง แทบไม่ได้แตะ template.php กับ page.tpl.php เลย ส่วนใหญ่ทำแต่ในไฟล์ style.css ของผมใช้ 6.x
มือใหม่หัด Drupal 6.x + ลองแต่งธีมเอง
ของ 5.x ครับ
ของ 5.x ครับ ของ 6.x จะแตกต่างหน่อยต้องมีไฟล์ themename.info ด้วยครับ ตัว drupal ถึงจะมองเห็น theme เราครับ แล้วหลังจาก version 4.x เป็นต้นมาเค้าแนะนำว่าควรนำ theme folder ไปไว้ใน /sites/all/themes ครับ ไม่ควรนำไว้ใน theme เลย เพราะจะจัดการลำบากทีหลังครับ
ขอบคุณครั
ขอบคุณครับ (ว่าไปเว็บนี้ น่าจะมีช่องให้กรอก ว่า 5.x, 6.x, 7.x นะครับ ไม่งั้นคุยกันซักพัก งงกันตาย)
เอาประสบการณ์ของผมในการแต่งธีมมั้ง (มือใหม่มากๆ ใช้มายังไม่ถึงอาทิตย์เลย) สำหรับ 6.x นะครับ
มือใหม่หัด Drupal 6.x + ลองแต่งธีมเอง
ขอบคุณ mnop
ขอบคุณ mnop ที่แชร์ประสบการ์ ^__^
อยากทราบว
อยากทราบว่า ถ้าจะทำธีมเอง โดยเลียนแบบธีมที่มีอยู่แล้วจากเว็บ สามารถทำได้มั้ยคะ
แล้วต้องทำอย่างไร
ทำได้ครับ
ทำได้ครับ ใส่โครงสร้างใน page.tpl.php node.tpl.php block.tpl.php ก็ครบ