[Mod] ระบบข่าวอัตโนมัติ โดยยิ้มแย้มดอทคอม
แก้ไขล่าสุดโดย Hack เมื่อ 2010-6-30 18:39ระบบข่าวอัตโนมัติ โดยยิ้มแย้มดอทคอม
การติดตั้งอาจจะยุ่งยากซักหน่อยนะครับ และขอความร่วมมือ อย่าลบลิ้งเครดิตใต้ข่าวออกเลยนะครับ {:3_44:}
วิธีการติดตั้ง
1. เปิด phpMyAdmin ของคุณขึ้นมา แล้วทำการ เพิ่ม SQL เข้าไปในดาต้าเบสของคุณตาม sql ด้านล่างนี้CREATE TABLE IF NOT EXISTS `dc_forum_news` (
`news` int(11) NOT NULL,
`forum` int(11) NOT NULL,
`thread` int(11) NOT NULL,
UNIQUE KEY `news` (`news`,`forum`,`thread`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;ที่ชื่อตาราง "dc_forum_news" ผมใช้ prefix ว่า dc_ สำหรับใครใช้ prefix อย่างอื่น แนะนำให้แก้ด้วยนะครับ
2. เปิดไฟล์ feeadnews.php ที่ดาวโหลดไป หาตรงบรรทัด CONFIG แล้วแก้ให้เรียบร้อย
// ---------------------- CONFIG ---------------------- //
$_author=8; // id ของผู้โพสข่าว
$_forum=array(48,49,50,51,52
,54,52,49,50,51,55,56,57,58); // id ของ forum ที่จะโพสข่าว โดยเรียงจาก(sanook)ข่าวทั่วไป, (sanook)ข่าวบันเทิง, (sanook)ข่าววาไรตี้, (sanook)ข่าวเกม-ไอที, (sanook)ข่าวกีฬา,
// (thairath)การเมือง, (thairath)กีฬา, (thairath)บันเทิง, (thairath)ไลฟ์สไตล์, (thairath)วิทยาการไอที, (thairath)เศรษกิจ, (thairath)การศึกษา, (thairath)ต่างประเทศ, (thairath)ทั่วไทย
// ---------------------------------------------------- //
3. อัพโหลดไฟล์ feeadnews.php ไว้โฟลเดอร์เดียวกับ discuzX
4. ทำการ chmod 0777 ที่โฟลเดอร์ static/news/ บนเซอเวอร์
5. ตั้ง cronjobs ให้ทำการเรียกสคริปทุกๆ20นาที เพื่ออัพเดทข่าวใหม่
สำหรับแต่ละโฮส จะมีระบบ adminของโฮส ไม่เหมือนกัน(ของผมเป็น Direct Admin) แต่จะมีระบบ Cron jobs เกือบทุกโฮส
ให้เข้าไปเพิ่ม งาน cron ของคุณตามตัวอย่างนี้
ซึ่งผมจะเซ็ทให้ ระบบทำงานทุกๆ นาทีที่ 0 , 20 , 40 นั่นคือทำงานทุกๆ20นาที ด้วยคำสั่ง "curl http://โดเมนพร้อมตำแหน่งไฟล์/feednews.php"
(ตัวอย่าง curlhttp://www.yimyaem.com/feednews.php)
6. วิธีการนำมาแสดงในหน้าแรก ขอให้ตามไปดูกระทู้นี้นะครับ พอดีว่าเคยเขียนวิธีทำไปแล้วhttp://www.yimyaem.com/thread-85-1-1.htmlเท่านั้นก็น่าจะเรียบร้อยแล้วครับ รับไปคนแรกๆ เยี่ยมมากครับ
เอ้อ แล้วเราจะไปตั้งสำหรับดึง RSS ข่าวของเว็บต่างๆ ได้จากตรงไหน
ไม่เห็นมีบอกเลย....
หรือดึงมาได้เฉพาะ สนุก เท่านั้นเหรอครับ เว็บผมจะเป็นตัวกลางของข้อมูล คือจะเป็นตัวอ่าน rss มาเก็บไว้
สาเหตุที่ทำแบบนี้เพราะ ข้อมูลที่โพสอย่างเช่นเนื้อหาข่าว ปรกติแล้วจะมีมาในrss เพียงประโยคสั้นๆ
ซึ่งผมต้องเขียนสคริปเข้าไปยังหน้าข่าวนั้น แล้วตัดคำเอาเฉพาะเนื้อข่าวแบบเต็มๆมา
ซึ่งมันจะง่ายกับผู้ใช้โดยไม่ต้องแก้ไขสคริปหรืออัพเดทสคริปบ่อย เมื่อเว็บข่าวมีการเปลี่ยนแปลง จนทำให้ข้อมูลที่ดึงมาเพี้ยน
และอีกอย่างคือ ถ้าจะเพิ่มเว็บ rss จากเว็บอื่นเพิ่ม ผู้ใช้ก็ต้องเขียนสคริปตัดคำเอง ทางออกที่ดี น่าจะrequestเข้ามาให้ผมเขียนเพิ่มให้โดยผ่านระบบกลางจะดีกว่า แล้วผู้ใช้เพียงแค่เซ็ท config ค่า $_forum เพิ่ม
ตัวอย่างการเซ็ท $_forum = ข่าวทั่วไป,ข่าวบันเทิง,ข่าววาไรตี้,ข่าวเกม-ไอที,ข่าวกีฬา
ถ้าหาดไม่ต้องการข่าวหมวดไหน สามารถแก้เป็น 0 ได้เลย เช่น $_forum = array(31,0,0,0,0); คือเอาเฉพาะข่าว ข่าวทั่วไป
หรือถ้าหากต้องการให้ทุกข่าวอยู่ในหมวดเดียวกันทั้งหมด เช่น ข่าวทั่วไป $_forum = array(31,31,31,31,31);
และถ้าต่อไปในอนาคตมีแหล่งข่าวจากที่อื่นเพิ่ม ก็สามารถเพิ่มพารามิเตอร์เข้าไปได้ทันที เช่น $_forum = array(48,49,50,51,52,69,75,99); (69,75,99 คือ แหล่งข่าวใหม่ที่เพิ่มเข้ามา 3แห่ง)
:) สรุป RSS มันดึงข่าวมาจากเว็บไหนเหรอครับ
เรากำหนดให้มันดึุงมาจาก ไทยรัฐได้ม๊ะ
เหอะๆๆ ตอนนี้จึงมาจาก
http://rssfeeds.sanook.com/rss/feeds/sanook/hot.news.xml
http://rssfeeds.sanook.com/rss/feeds/sanook/hot.entertain.xml
http://rssfeeds.sanook.com/rss/feeds/sanook/hot.variety.xml
http://rssfeeds.sanook.com/rss/feeds/sanook/hot.technology.xml
http://rssfeeds.sanook.com/rss/feeds/sanook/hot.sport.xml
ส่วนไทยรัฐ เดี๋ยวผมเพิ่มหลัง Yimyaem 0.2 นะครับ :lol http://www.discuzthai.com/images/smilies/default/lol.gif ขอบคุงครับ ลองแล้วโพสไมได้อ่าครับต้องแก้ไขยังไงหรอครับ ขอบคุณครับ ผม ติดตั้งตามคำแนะนำแล้วครับ ลองเรียกดูตาม http://www.yimyaem.com/feednews.php
มันมี error Warning: require(./source/class/class_core.php) : failed to open stream: No such file or directory in /home/runsmkcc/domains/run3smkcc.com/public_html/feednews.php on line 12
รบขอคำแนะนำด้วยครับ
หน้า:
[1]
2