A-AA+then

ในโมดูลข่าว

1,337
ในโมดูลข่าว
ในโมดูลข่าวที่พึ่งได้มานั้น นำมาแก้ไขเพิ่มเติมอีกนิดหน่อย
เพื่อที่จะให้ rsstab เป็นตัวเรียกให้แสดงผล ตามหมวดหมู่
ของข่าวในแต่ละหมวดหมู่

ทีนี้..........
ตอนที่ทดสอบในเครื่องตัวเองสามารถรันผ่านไปได้โดยไม่มีปัญหา
พอลองอัพขึ้นเซิร์ฟเวอร์แล้วข่าวไม่แสดงเลย เป็นกรอบบล็อคว่างๆ

นึกขึ้นได้ว่าเป็นเพราะ URL ในเครื่องกับเซิร์ฟเวอร์มันคนละ URL กัน
ก็เลยเปลี่ยน URL ซะใหม่ให้้เป็น URL ที่ใช้จริงบนเซิร์ฟเวอร์
แต่กลับพบว่าไม่ยอมแสดงข่าว แสดงแต่หมวดหมู่ขึ้นมา (ดีขึ้นหน่อย)

เอ...........
URL ก็ถูกแล้วแต่ยังดื้ออีก
เลยก็อป URL ไปวางบน address bar กด enter เข้าไปดูแบบตรงๆ
มันก็ถูกต้องนี่........?!?
ก็ยังพบไฟล์ที่เรียก

http://www.domain.com/xxx/datas/news/news_cat1.xml
http://www.domain.com/xxx/datas/news/news_cat2.xml
http://www.domain.com/xxx/datas/news/news_cat3.xml
http://www.domain.com/xxx/datas/news/news_cat4.xml
http://www.domain.com/xxx/datas/news/news_cat5.xml

ลองดึงข่าวจาก rssthai มาดู ก็แสดงผลได้ดีปกติ
เลยงงว่าทำไมดึงจากเซิร์ฟเวอร์ตัวเองแล้วไม่แสดงผล

11 ความคิดเห็น

ลองเอา URL ตรงๆ มาให้ดู

เว็บทำงานปกติหรือเปล่า ?
1

root ของ web อยู่ที่ police

http://www.xxx.com/police

เรียกผ่าน widget rss
วิธีที่ 1.
new gRSS('http://www.xxx.com/police/datas/news/news_cat1.xml').show('news_update',300);

โดยมีที่รองรับการแสดงผลคือ
<div id="news_update">Loading...</div>

วิธีที่ 2.
var news_update = new gRSSTab('news_update_tab','news_update_div', 60);
news_update.add('http://www.xxx.com/police/datas/news/news_cat1.xml', 'ข่าวหมวดที่ 1');
news_update.add('http://www.xxx.com/police/datas/news/news_cat2.xml', 'ข่าวหมวดที่ 2');
news_update.add('http://www.xxx.com/police/datas/news/news_cat3.xml', 'ข่าวหมวดที่ 3');
news_update.add('http://www.xxx.com/police/datas/news/news_cat4.xml', 'ข่าวหมวดที่ 4');
news_update.add('http://www.xxx.com/police/datas/news/news_cat5.xml', 'ข่าวหมวดที่ 5');
news_update.show(0);

โดยมีที่รองรับการแสดงผลคือ
<div id="news_update_widget" class="rss_widget">
<div id="news_update_tab" class="rss_tab">Loading...</div>
<div id="news_update_div" class="rss_div">Loading...</div>
</div>


URL ที่เรียก
http://www.xxx.com/police/datas/news/news_cat1.xml
http://www.xxx.com/police/datas/news/news_cat2.xml
http://www.xxx.com/police/datas/news/news_cat3.xml
http://www.xxx.com/police/datas/news/news_cat4.xml
http://www.xxx.com/police/datas/news/news_cat5.xml

หมวด 1 มีข่าว
หมวด 2 มีข่าว
หมวด 3 มีข่าว
หมวด 4 ยังไม่มีข่าว
หมวด 5 ยังไม่มีข่าว
2

มันจะใช้ได้ ได้ไง ในเมื่อ url ใน rss มันไม่ถูกต้อง ให้ลองตรวจสอบ rss ดู

ลองดูข้อมูลใน http://www.krajay.com/police/news.rss ประกอบ ว่ามีข้อแตกต่างอย่างไร

อาจลองดัดแปลงแบบนี้นะ http://www.krajay.com/police/news.rss?cat=1

ใส่ cat=1 เพิ่มเติมไป แล้วไปจัดการรับค่าที่ modules/news/feed.php แล้วแก้ไข query เอา หมวดหมู่ ฟิลเตอร์ข้อมูลออกมา

อ้อ รูปภาพของหมวด กำหนดให้ถูกด้วยนะ ถ้าหาไม่เจออาจ error ได้
3

คาดว่า Server เธอคงมีปัญหานะ มันตอบกลับ RSS มาแบบนี้

Generated Fri, 21 May 2010 14:32:20 GMT by demil1.byetcluster.com (Lusca/LUSCA_HEAD-r14635)
4

เดาว่าคงเพราะ Server ด้วยประการนึง
n
ew gRSS('http://www.krajay.com/police/datas/news/news_cat1.xml').show('news_update',300);
เนื่องจากทดสอบที่เครื่องตัวเองแล้วไม่มีปัญหา แสดงผลได้ถูกต้อง
n
ew gRSS('http://localhost/police/datas/news/news_cat1.xml').show('news_update',300);

ก็เล่นเรียกเอาตรงๆ ดุ้นๆ อย่างนี้เลย






5

บื้ออยู่นาน....555
เข้าใจแล้วว่าจริงๆ แล้วถ้าจะให้ rsstab หรือ gRSS เป็นตัวเรียกขึ้นมาแสดงผลนั้น
ไม่ต้องไปดัดแปลงอะไรเลย ย้ำว่าบื้ออยู่นานมากๆ.....555

ขำกับความบื้อของตัวเอง  ทั้งที่คุณอาก็บอกมาตั้งนานแล้ว

อ้างจากคำตอบที่ #3
อาจลองดัดแปลงแบบนี้นะhttp://www.krajay.com/police/news.rss?cat=1"> http://www.krajay.com/police/news.rss?cat=1

ใส่ cat=1 เพิ่มเติมไป แล้วไปจัดการรับค่าที่ modules/news/feed.php แล้วแก้ไข query เอา หมวดหมู่ ฟิลเตอร์ข้อมูลออกมา

อ้อ รูปภาพของหมวด กำหนดให้ถูกด้วยนะ ถ้าหาไม่เจออาจ error ได้


ขั้นตอนต่อไปจะทำอย่างที่คุณอาว่ามา

ตอนที่เข้าใจนี่ขำก๊ากหัวแทบโขกโต๊ะเลย
6

ลองแล้วก็ยังไม่ยอมแสดงในโฮสจริง
ใน localhost ไม่มีปัญหา

ลองเอาของเดิมๆ เลย มาแก้อย่างที่คุณอาบอก
เปิดไฟล์ modules/news/feed.php

มาแก้ไขการ query จากเดิม

$sql = "SELECT id,lastupdate,topic,sdetail,icon FROM $prefix$config[db_news] WHERE disperse=1 ORDER BY id DESC LIMIT $count";

เป็น

$sql = "SELECT id,lastupdate,topic,sdetail,icon FROM $prefix$config[db_news] WHERE disperse=1 and category_id=$_REQUEST[cat] ORDER BY id DESC LIMIT $count";

แล้วเรียก

new gRSS('http://www.krajay.com/police/news.rss?cat=1').show('news_update',300);

เปิดใน localhost ไม่มีปัญหา
แต่อัพขึ้นโฮสจริงกลับไม่แสดง โฮสที่อื่นๆ ก็เป็นเหมือนกัน
ไม่ทราบว่าที่โฮสของคุณอาแสดงเป็นปกติมั๊ย
ถ้าหากแสดงผลได้โดยไม่ติดขัดอะไร
ก็จะขอเช่าโฮสคุณอาเลย.....
7

อ้างจากคำตอบที่ #7
เปิดใน localhost ไม่มีปัญหา
แต่อัพขึ้นโฮสจริงกลับไม่แสดง โฮสที่อื่นๆ ก็เป็นเหมือนกัน
ไม่ทราบว่าที่โฮสของคุณอาแสดงเป็นปกติมั๊ย
ถ้าหากแสดงผลได้โดยไม่ติดขัดอะไร
ก็จะขอเช่าโฮสคุณอาเลย.....

โค้ดนั้นก็ใช้จริงอยู่บน host ผมแหละครับ (โมดูลข่าวของ GCMS) ซึ่งก็ปกติดี
8

เวลาเข้าไปที่หน้า http://www.krajay.com/police/news.html มันก็โชว์อยู่หรอก
ติดไอ้ตรงที่เรียกมาแสดงหน้าแรกเนี่ยที่มันไม่ยอมแสดง(เฉพาะในโฮสจริง)

สงสัยโฮสแต่ละที่ ที่มีอยู่ในมือตอนนี้จะไม่รองรับ
งั้นคงอย่างที่บอกไปว่าคงต้องเช่าโฮสคุณอาแล้วล่ะ
ถ้ายังเรียกมาแสดงในหน้าแรกไม่ได้อีกคงต้องให้คุณอาช่วยดู
ขอแปลน 100 m ฮะ เดี๋ยวโอนไปเลยทันที

9

กราบขอบพระคุณ "คุณอา gOragod" เป็นอย่างสูงฮะ
ถ้าไม่ได้คุณอาช่วยคงไม่รอดแน่ๆ

ตอนนี้กำลังจะเรียนต่อ ป.ตรี ฮะ
เดี๋ยวคงจะมีความรู้แน่นกว่านี้

รบกวนขอพรจากคุณอานิดนึงนะฮะ....
10

สู้ๆ... 

อ้าว ยังไม่ตรี รึ 

ขยันเข้าไว้ รับรองรุ่งแน่ๆ..
11
^