นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน
อ่าน: 188
ความเห็น: 0

วิธีการแก้ไขปัญหาการนำเข้าข้อมูลด้วย Extension J2XML แล้วพบ Error Alias ซ้ำกัน [C]

บทความนี้เป็นส่วนหนึ่งของบทความเรื่อง "การอัพเกรด Joomla เวอร์ชั่นเก่าให้เป็น Joomla เวอร์ชั่นปัจจุบันด้วย J2XML" ดังนั้นเพื่อความเข้าใจที่ครบถ้วนสมบูรณ์ขอให้อ่านบทความข้างต้นก่อนเป็นอันดับแรก

เมื่อเรานำเข้าข้อมูลเว็บไซต์ด้วย Extension J2XML แล้วพบ Error ดังภาพ

 

แสดงว่าข้อมูลที่เราส่งออกมาจาก Joomla เวอร์ชั่นเดิมมี Alias ที่ซ้ำกันในระบบซึ่งมีแนวทางในการแก้ไขปัญหา Alias ซ้ำได้หลายวิธี รวบรวมได้ดังต่อไปนี้

1. ให้แก้ไขที่ระบบของ Joomla เองโดยดูว่าซ้ำที่ Article ID ใด ก็ให้ไปแก้ไข Alias ที่ Article นั้น เช่นจาก Error แสดง Article [1036 -> 1032] ก็คือ Article ID 1036 ซ้ำกับ Article ID 1032 เป็นต้น โดยมีวิธีการดังนี้

1.1 ให้ Login เข้าไปที่ Backend ของ Joomla จากนั้นไปที่ Article Manager ให้เลือก Ariticle ที่ระบบแจ้งว่า Alias ซ้ำกัน ตัวอย่างในที่นี้คือ ID 1036


1.2 ให้แก้ไขที่ช่อง Alias เพื่อไม่ให้ซ้ำกับ Aritcle อื่นเช่น อาจจะเติม Article ID ของบทความนี้ลงไปเพิ่มเติม จาก ccpsu เป็น ccpsu1036 เป็นต้น จากนั้นให้กด Save ก็เป็นอันเสร็จ

 

2. หากมีการซ้ำของ Alias มาก ๆ (เกิน 100 ขึ้นไป) การแก้ไขทีละ Article เป็นเรื่องที่ต้องใช้เวลานาน ดังนั้นเพื่อความสะดวกหากสามารถเข้าฐานข้อมูลได้โดยตรง ให้เข้าไปแก้ไขโดยตรงในฐานข้อมูลจะดีกว่า โดยใช้เครื่องมือจัดการที่ Web Hosting มีมาให้เช่น PHPMyAdmin เป็นต้น โดยมีวิธีการดังนี้

2.1 ให้ Login เข้าไปที่ PHPMyAdmin เลือกฐานข้อมูล จากนั้นไปที่ตาราง xxx_content ในที่นี้คือ jos_content


2.2 ให้เลือก Article ที่ต้องการแก้ไข จากนั้นกดดับเบิ้ลคลิกข้อมูลที่คอลัมน์ alias จะแสดงข้อมูลในช่อง Text ให้ทำการแก้ไขค่าที่ต้องการ


2.3 กด Enter หรือขยับเม้าส์ออกจากช่อง Text ก็จะทำการแก้ไขข้อมูลทันที โดยจะแสดงข้อความว่า "1 row affected"

 

3. อีกวิธีหนึ่งหากมีการซ้ำของ Alias มาก ๆ สามารถใช้คำสั่ง SQL Command เพื่อแก้ไขข้อมูลทั้งหมดได้ทันที แต่วิธีนี้จะเป็นวิธีการแก้ไขข้อมูลทั้งหมดไม่ได้เลือกเฉพาะที่ Alias ซ้ำกัน โดยใช้หลักการคล้าย ๆ กับวิธีการข้างต้นคือจะเป็นการแก้ไขข้อมูลโดยนำค่า Alias เดิมต่อกับค่า Article ID ทุกอัน เพื่อเป็นการรับประกันว่า Alias จะไม่ซ้ำกันอย่างแน่นอน โดยมีวิธีการดังนี้

3.1 ให้ Login เข้าไปที่ PHPMyAdmin เลือกฐานข้อมูล จากนั้นไปที่ Tab SQL


3.2 ให้ระบุคำสั่ง SQL Command ดังนี้

UPDATE jos_content SET alias = CONCAT(alias,'',id)


3.3 หากแสดง Message ดังภาพแสดงว่าข้อมูลได้ถูกแก้ไขแล้ว


3.4 เมื่อกลับไปดูที่ตาราง jos_content จะสังเกตว่าข้อมูลได้ถูกเติม Article ID ต่อท้ายเอาไว้ทุกแถว

 

4. วิธีสุดท้ายที่จะนำเสนอคือ การใช้โปรแกรมมิ่งช่วยในการแก้ไขข้อมูลทั้งหมด ในที่นี้จะใช้ภาษา PHP ซึ่งเป็นภาษาเดียวกันกับที่ใช้พัฒนา Joomla วิธีนี้จะใช้สำหรับกรณีที่ไม่สามารถเข้าจัดการกับฐานข้อมูลได้โดยตรง โดยมีวิธีการดังนี้

4.1 เพื่อความสะดวกจึงได้สร้างไฟล์เอาไว้ให้ดาวน์โหลดไปใช้งานได้เลย โดยสามารถดาวน์โหลดได้จากที่นี่ (เป็น zipไฟล์ชื่อ change-alias.zip)

4.2 เมื่อดาวน์โหลดเสร็จแล้วให้แก้ไขข้อมูลก่อนโดยต้องกำหนด ชื่อผู้ใช้, รหัสผ่าน, ชื่อฐานข้อมูล และ ชื่อ prefix ฐานข้อมูล (สามารถดูข้อมูลเหล่านี้ได้จากไฟล์ configuration.php)


4.3 ให้อัพโหลดไฟล์ไปวางในพื้นที่เว็บไซต์ที่สามารถรันผ่าน Browser ได้ เช่น /public_html (พื้นที่เดียวกันกับที่ติดตั้งเว็บไซต์)

 
4.4 จากนั้นให้เปิด Browser ขึ้นมาระบุชื่อ URL ตามด้วยชื่อไฟล์ ตัวอย่างเช่น http://xyz.com/change-alias.php

4.5 หากสำเร็จจะแสดงข้อมูล ดังภาพ

หมวดหมู่บันทึก: เรื่องทั่วไป
คำสำคัญ (keywords): Alias  error  joomla  Migration  problem
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 18 มิถุนายน 2563 14:18 แก้ไข: 22 มิถุนายน 2563 13:01 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

ไม่มีความเห็น
คุณต้องทำการเข้าระบบก่อนแสดงความเห็น