Thursday, December 31, 2009

การแก้ไข Template ของ Joomla


การแก้ไข Template ของ Joomla โดยมีโครงสร้างพื้นฐานตามภาพ ซึ่งเป็นคำสั่ง PHP กำหนดตำแหน่งที่เป็นเหมือน slot สำหรับนำ module มาบรรจุในแต่ละตำแหน่ง โดยตำแหน่ง Pathway (ในส่วน <head>), Sitename(ในส่วน <head>), footer (<div>ในส่วนล่าง), mainbody (ในส่วนที่เป็น content หลัก) จะทำงานสัมพันธ์กับ MySQL database ที่เราได้ติดตั้งไว้

ในส่วนที่เป็น module เราสามารถใส่ module ที่เราต้องการจะบรรจุลงไว้ในตำแหน่งที่ระบุไว้เท่านั้นด้วยคำสั่ง mosLoadModule จากตัวอย่างมีตำแหน่งที่สามารถใส่ module ลงไปได้ 3 ตำแหน่งคือซ้าย ขวา และด้านบนของ Content โดยเราสามารถย้ายตำแหน่งแต่ละโมดูลได้อย่างอิสระ โดยใช้ module manager

จากภาพเป็น Template ตัวอย่างพื้นฐานแสดงถึงการบรรจุ module ลงในแต่ละตำแหน่งที่อนุญาิตด้วยคำสั่ง mosLoadModule



นี่เป็น Template เริ่มแรกที่ยังไม่ได้ปรับเปลี่ยนแก้ไขตำแหน่ง module ต่างๆ



Template หลังจากที่ได้ปรับแต่งแก้ไขรายละเอียดต่างๆแล้ว โดยย้าย main menu module ไปไว้ที่ตำแหน่ง Top สลับตำแหน่งกับ New Flash







Wednesday, June 10, 2009

ติืดตั้ง Joomla บน Appserve แล้วอย่าลืมคิดถึงตอน Upload ด้วย

หนังสือ Joomla ที่มีอยู่สอนให้ติดตั้ง Appserve จำลองเครื่องที่บ้านเป็น server เพื่อทดลองติดตั้ง Joomla มีสอนหมดเปลือก ทุกเม็ด แต่ไม่ยักมีบทสอนว่า เวลาจะ Upload ขึ้นไปบน Host จะทำไง ก็ประหลาดดีสำหรับตำราคอมพ์เมืองไทย

ปกติจะใช้ Joomla มีวิธีติดตั้งอยู่ 3 วิธีคือ
  1. Install ได้เลยใน Web Application ที่ทาง Host จัดมาให้เสร็จสรรพ ส่วนใหญ่จะมีบริการนี้กันทั้งนั้น Host ไหนไม่มีก็ช่วยไม่ได้ วิธีนี้ง่าย บาง Host ติดตั้งสร้างฐานข้อมูลให้เลยอัตโนมัติ บางแห่งต้องสร้างฐานข้อมูลก่อน ถึงติดตั้งได้สำเร็จ แต่มีปัญหาคือ ไม่ค่อยจะ Update Version
  2. Upload เป็น Zip ไฟล์ของ Joomla ขึ้นไปเก็บไว้บน Host เลย ใน File manager ของ Control panel จะมีคำสั่งให้ UnZip วิธีนี้สะดวกรองลงมา ที่เคยใช้มียี่ห้อ Cpanel ใช้งานได้ง่าย
  3. ติดตั้งบนเครื่องที่บ้านให้เสร็จสรรพ ทดลอง ทดสอบจนพอใจ แล้วค่อย Upload ทั้งยวงขึ้นไปเก็บไว้บน Host วิธีนี้ยุ่งยาก สลับซับซ้อนน่าเวียนหัวที่สุด เฉพาะเวลา Upload ก็เกือบครึ่งชั่วโมงแล้ว (3 meg)
วิธีที่ 3 นี่แหละ ที่เพิ่งเคยลอง เนื่องจาก Host แห่งนี้ไม่ยอมให้ทำอะไรโดยเด็ดขาด แม้แต่ Template ก็ยังติดตั้งไม่ได้เลย อย่าว่าแต่ module หรือ component นี่หมดสิทธิ์ ไม่รู้ว่ามันจะปอดแหกอะไรกันนักหนา พอจะย้าย Host ก็ทำเป็นงอน ไม่ยอมให้ Password เข้าไปเปลี่ยน DNS หรือว่า มีอะไรกับ Domain name หรือเปล่าอันนี้ไม่รู้ ขี้เกียจทะเลาะ จะไปทำอะไรทีนึง ต้องโทรไปง้อ ขอให้ช่วยด้วยทุกที เช่ามาแล้วทำไงได้ ซวยไปละกัน

ก็เลยต้องมาติดตั้งบน Appserve เอง ติดตั้งตามตำราเสร็จสรรพ ก็จัดการปรับแต่ง ลงข้อมูลอะไรเป็นที่เรียบร้อย อย่างเพลิดเพลิน เพราะมันเร็วมาก ทำกับเครื่องตัวเองก็อย่างนี้ พอถึงคราวจะ Upload ทีนี้เรื่องใหญ่ ในส่วน Joomla ไม่มีปัญหา ครึ่งชั่วโมงก็เรียบร้อย แต่ปัญหาอยู่ที่ ฐานข้อมูลจะทำไงดี เปิดในตำราก็ไม่มี ไปยืมเพื่อนมาอีกเล่มก็ไม่มีอีก ต้อง Search เอาใน google เลยไปเจอบทความนี้ในเวบบอร์ดแห่งหนึ่งขอก๊อปเอามาเก็บไว้ดูเกิดนานๆไปลืมจะได้มาเปิดดูได้

Backup ที่เครื่อง ขึ้นโฮสจริง มือใหม่อ่านด่วน
เครดิตบทความคุณ
Naris193 ที่มา


1. จากรูปเข้าไปที่ http://localhost/phpmyadmin/ คลิกเลือกฐานข้อมูล joomla ของเรา คลิกเลือก Export

2. ทำตามขั้นตอนดังรูป ตามลำดับ เราจะได้ ไฟล์ออกมา 1 ไฟล์นามสกุลเป็น xxx.sql
3. ไปที่ Host ของเราเข้าไปสร้างฐานข้อมูลเปล่าเอาไว้ เข้าไปที่ phpmyadmin เพื่อ Import ฐานข้อมูลของเราขึ้นไปไว้บน Host

หลังจากนั้นเข้าไปแก้ไขที่ไฟล์ configuration.php

แก้ไขตัวแปรต่อไปนี้
โค๊ด

var $log_path = '/logs'; ใส่/logs
var $tmp_path = '/tmp'; ใส่/tmp


var $dbtype = 'mysql'; <<< ไม่ต้องแก้
var $host = 'localhost'; <<< ใส่ชื่อโฮส
var $user = 'root'; <<< ชื่อผู้ใช้
var $db = 'shop'; <<< ชื่อของ ดาต้าเบส
var $dbprefix = 'jos_'; <<< ค่าเดิมคือ jos_ ไม่ต้องแก้
var $password = 'root';ใส่พาสเวิร์ดให้ตรงกับที่เราสร้างไว้

เสร็จเรียบร้อยตามนี้ แต่ยังไม่หมด เนื่องจากเวบไซด์ที่ทำเอาไว้เป็น Joomla Virtuemart เมื่อเข้าไปในส่วนของ Virtuemart แล้ว Link ต่างๆยังคงชี้ไปที่ localhost ของเดิมอยู่ ก็ต้องเข้าไปแก้ไฟล์ Virtuemart.cfg.php ที่อยู่ใน xxx/administrator/components/com_virtuemart
ค้นหาบรรทัดที่มีคำสั่งนี้ แล้วเปลี่ยนเป็น URL ให้เป็นของจริงซะ

define( 'URL', 'เปลี่ยนเป็น URL ปัจจุบัน' );
define( 'SECUREURL', 'เปลี่ยนเป็น URL ปัจจุบัน' );

เป็นอันเสร็จเรียบร้อย