×

คำเตือน

JFolder::create: Path not in open_basedir paths.

การพัฒนาส่วนขยายของจูมล่ามีความแตกต่างจากการเขียนเว็บ application เอง ซึ่งมือใหม่อาจจะงง โดยเฉพาะคนที่ไม่เคยมีประสบการณ์ในการเขียน PHP แบบ Object Oriented Programming มาก่อน ข้อดีก็คือคุณทำงานน้อยลงครับ แต่ก็มีสิ่งที่ต้องเรียนรู้เพิ่มเติม แต่ไม่ใช่เรื่องยากครับ ขอให้ทำความเข้าใจและสำคัญที่สุดลงมือทำ

ผมมีโอกาสได้เห็นคนเขียนคอมโพเนนท์ของจูมล่าแบบมึนๆ นั่นคือในไฟล์ของคอมโพเนนท์เช่น com_example/example.php เขาเอาไฟล์ HTML ทั้งไฟล์ไปใส่ไว้ร่วมกับ PHP คือมีการเขียนแบบที่เป็น Procedure แบบที่เขาคุ้นเคยมีการเปิดแท็ก <html> และปิดแท็ก </html> ในไฟล์นี้เรียบร้อยซึ่งมันอาจจะทำงานได้ครับ แต่ไม่ถูกต้อง เนื่่องจากการเขียนคอมโพเนนท์นั้นเราทำการแสดงผลแค่บางส่วนของหน้า Page เท่านั้นเนื่องจากตัว Page นั้นจะถูกสร้างโดยจูมล่าอยู่แล้ว เราจะทำการเขียนโค้ดเพื่อใช้งานพื้นที่เพียงส่วนหนึ่งเท่านั้น คือพื้นที่ในส่วนของ คอมโพเนนท์

ก่อนอื่นเรามาทำความเข้าใจก่อนว่าตัว Page ที่เป็น HTML นั้นจะรับผิดชอบโดยเท็มเพลต โดยในการทำงานของเท็มเพลต ผู้ออกแบบจะแบ่งพื้นที่ในหน้าหนึ่งๆ ออกเป็น Module Position ซึ่งเป็นพื้นที่เล็กๆ ที่ใช้งานโดยตัวโมดูล โดยจะมีพื้นที่ส่วนหนึ่งถูกกันไว้สำหรับคอมโพเนนท์ ซึ่งเป็นพื้นที่ส่วนใหญ่แต่จะมีอยู่โซนเดียว ต่างจาก Module Position ที่จะมีหลายพื้นที่ตามที่ผู้ออกแบบจะออกแบบมาและโดยปกติจะล้อมรอบพื้นที่รอบคอมโพเนนท์ ตามรูปตัวอย่างด้านล่างครับ

 

 

 

comments