Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20240520 Rev.9 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 12093|ตอบกลับ: 18

[x2.5] วิธีการนำ thread list มาโชว์หน้า portal

  [คัดลอกลิงก์]
tgdiscuz โพสต์ 2012-6-12 17:49:39 |โหมดอ่าน
แก้ไขครั้งสุดท้ายโดย tgdiscuz เมื่อ 2012-6-12 17:59

หลายคนชอบการนำเสนอในรูปแบบ Tab ของ thread_list แต่ก็สามารถโชว์ได้ที่หน้า forum.php เท่านั้น แต่หลายคนก็หาแนวทางที่จะดึง
ออกมาหน้า portal ให้ดั่งใจ ผมเองก็คนหนึ่งหละ หลังจากหาแนวทางมาหลายแนวทางก็ได้ แนวทางประยุกต์ แบบ iframe ดึงมาเสียเลย
แต่การจะดึงมานั้นต้องปรับแต่งจนเนียนเสียก่อน

ขั้นตอนที่1.
เริ่มจาก ให้ทำการ download ไฟล์ forum.php (จะอยู่ข้างในโพล์เดอร์ discuz ที่เดียวกับไฟล์ index.php) แล้วเปลี่ยนชื่อเป็น shows-slide.php (หรือชื่ออื่นตามที่ต้องการ) แล้วเปิดไฟล์ขึ้นมา แก้ไขในส่วนบรรทัดล่างสุดตรง
  1. require DISCUZ_ROOT.'./source/module/forum/forum_'.$mod.'.php';
คัดลอกไปที่คลิปบอร์ด
แล้วแก้เป็น
  1. require DISCUZ_ROOT.'./source/module/forum2/forum_'.$mod.'.php';
คัดลอกไปที่คลิปบอร์ด
จากโพลเดอร์ forum ก็ดาวโหลดมาที่เครื่องแล้ว อัพข้อมูลข้างในนั้นมาที่โพล์เดอร์ที่สร้างใหม่คือ forum2

ขั้นตอนที่2.
ให้ทำการเปิดไฟล์ forum_index.php ดูในบรรทัดที่ 247 โดยประมาณ แล้วอัพทับไปในโพล์เดอร์ forum2 ที่เราสร้าง
  1. if($_G['gp_archiver']) {
  2.         include loadarchiver('forum/discuz');
  3.         exit();
  4. }

  5. categorycollapse();
  6. include template('diy:forum/discuz:'.$gid);
คัดลอกไปที่คลิปบอร์ด
แล้วให้แก้ discuz ให้เป็นชื่อใหม่คือ discuz2 ก็จะได้ตามโคส
  1. if($_G['gp_archiver']) {
  2.         include loadarchiver('forum/discuz2');
  3.         exit();
  4. }

  5. categorycollapse();
  6. include template('diy:forum/discuz2:'.$gid);
คัดลอกไปที่คลิปบอร์ด
ขั้นตอนที่3
หลังจากนั้นให้ทำการแก้ไขไฟล์ที่แสดง thread list ในการปรับแต่งก็จะปรับแต่งอยู่ 2 ไฟล์ ด้วยกันคือในส่วนของ

template/default/common เป็นไฟล์ header.htm ให้ทำการ download มาแล้วแก้ชื่อเป็น header2.htm แล้วอัพไป
(ห้ามแก้จาก header.htm โดยตรง)

แล้วก็แก้ไขโคสนี้ทับไป แล้ว save และอัพโหลดไปใน template/default/common
  1. <!--{subtemplate common/header_common}-->
  2.         <!--{if defined('CURMODULE') && ($_G['basescript'] == 'forum' || $_G['basescript'] == 'group') && (CURMODULE == 'index' || CURMODULE == 'forumdisplay' || CURMODULE == 'group')}-->$rsshead<!--{/if}-->
  3.         <!--{if $_G['basescript'] == 'forum' || $_G['basescript'] == 'group'}-->
  4.                 <!--{if $_G['basescript'] == 'forum' && !empty($_G['cookie']['widthauto']) && empty($_G['disabledwidthauto'])}-->
  5.                         <link rel="stylesheet" id="css_widthauto" type="text/css" href="data/cache/style_{STYLEID}_widthauto.css?{VERHASH}" />
  6.                         <script type="text/javascript">HTMLNODE.className += ' widthauto'</script>
  7.                 <!--{/if}-->
  8.                 <script type="text/javascript" src="{$_G[setting][jspath]}forum.js?{VERHASH}"></script>
  9.         <!--{elseif $_G['basescript'] == 'home' || $_G['basescript'] == 'userapp'}-->
  10.                 <script type="text/javascript" src="{$_G[setting][jspath]}home.js?{VERHASH}"></script>
  11.         <!--{elseif $_G['basescript'] == 'portal'}-->
  12.                 <script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
  13.         <!--{/if}-->
  14.         <!--{if $_G['basescript'] != 'portal' && $_GET['diy'] == 'yes' && ($_G[mod] == 'topic' || $_G[group][allowdiy]) && !empty($_G['style']['tplfile'])}-->
  15.                 <script type="text/javascript" src="{$_G[setting][jspath]}portal.js?{VERHASH}"></script>
  16.         <!--{/if}-->
  17.         <!--{if $_GET[diy] == 'yes' && ($_G[mod] == 'topic' || $_G[group][allowdiy]) && !empty($_G['style']['tplfile'])}-->
  18.         <link rel="stylesheet" type="text/css" href="data/cache/style_{STYLEID}_css_diy.css?{VERHASH}" />
  19.         <!--{/if}-->
  20. </head>

  21. <body id="nv_{$_G[basescript]}" class="pg_{CURMODULE}" onkeydown="if(event.keyCode==27) return false;">
  22.        
  23.         <!--{if empty($topic) || $topic[useheader]}-->



  24.         <!--{hook/global_header}-->
  25.         <!--{/if}-->

  26.         <div id="wp" class="wp">
คัดลอกไปที่คลิปบอร์ด
ขั้นตอนที่4.
จากนั้นให้ทำการดาวโหลดไฟล์ discuz.htm มาแล้วแก้ชื่อเป็น discuz2.htm ตามที่เราได้ตั้งค่าในตัวแปลไฟล์ forum_index.php นั้นเอง
แล้วทำการ upload ไปใน template/default/forum

ให้ทำการแก้ไขโคสดังนี้ แล้วก็ save แล้วอัพโหลด ไปยัง template/default/forum
  1. <!--{subtemplate common/header2}-->

  2. <!--{subtemplate common/pubsearchform}-->

  3. <div id="ct" class="wp cl{if $_G['setting']['forumallowside']} ct2{/if}">
  4.         <div id="chart" class="bm bw0 cl">
  5.                 <!--{if $_G['uid']}--><p class="y"><!--{/if}-->
  6.                 <p class="chart">{lang index_today}: <em>$todayposts</em><span class="pipe">|</span>{lang index_yesterday}: $postdata[0]<span class="pipe">|</span>{lang index_posts}: <em>$posts</em><span class="pipe">|</span>{lang index_members}: <em>$_G['cache']['userstats']['totalmembers']</em><!--{if $_G['setting']['lastmember']}--><span class="pipe">|</span>{lang welcome_new_members}: <em><a href="home.php?mod=space&username={echo rawurlencode($_G['setting']['lastmember'])}" target="_blank" class="xi2">$_G['setting']['lastmember']</a></em><!--{/if}--></p>
  7.         </div>
  8.                 <!--{hook/index_top}-->
คัดลอกไปที่คลิปบอร์ด
ขั้นตอนที่5.
จากนั้นทดสอบรันไฟล์ shows-slide.php ในที่เดียวกับที่เก็บไฟล์ index เช่น http://www.youweb.com/shows-slide.php หรือถ้า discuz อยู่ในโพล์เดอร์เอาใส่ใว้ที่
http://www.youweb.com/discuz/shows-slide.php แบบนี้ จะเห็นว่าเราได้ตัว thread list ที่ขึ้นตามตำแหน่ง <!--{hook/index_top}-->
แนะนำถ้าจะทำแบบนี้ให้ผิดตัว plugin ที่ออกมาพร้อมกันกับ thread list ก่อน



ขั้นตอนที่6.
จากนั้นก็ทดสอบสร้าง Frame ในระบบ Diy ในหน้า portal แล้ว เพิ่ง โมดูล แบบ HTML แล้วใส่โคส iframe ลงไปตามนี้
  1. <iframe style="border: 0px none;" src="shows-slide.php" frameborder="0" scrolling="NO" align="top" width="910" height="415"></iframe>
คัดลอกไปที่คลิปบอร์ด


ขั้นตอนที่7.
ให้ทำการเซตค่าใน ปลั๊กอิน ของ Thread List โดยเซตค่าในส่วนของ



เปิดลิงค์กระทู้ในหน้าต่างใหม่ ดังรูป เท่านี้เวลาคลิ๊กข้อมูลก้จะเด้งขึ้นหน้าใหม่ทันที เป็นการเสร็จการนำเอา thread list มาโชว์หน้า portal



ขอปัญญาเกิดแด่ท่าน

ไทยกราฟ ดอท คอม
thaigraph.com

ปล. ก่อนอื่นจะแก้ไขไฟล์ควร backup ไฟล์ของเดิมใว้เสียก่อน และก่อนนำ iframe มาใส่ควร backup หน้าแรก โดยการส่งออกไฟล์ XML
เก็บใว้ในเครื่องเราเสียก่อน เผื่อเกิดข้อผิดพลาดจะได้นำเข้าใหม่ได้ และถ้าบางลิ้งค์ไม่ยอมเปิดหน้าใหม่ควรเพิ่มทำสั่ง target=new ใว้ในส่วนลิ้งค์
เสียก่อน และหลักการนี้สามมารถประยุกต์ใช้ได้กับทุกเวอร์ชั่นของ discuz

ไฟล์ตัวอย่างในการปรับแต่งสามารถอัพโหลดไปใช้ได้เลย

**** ถูกใจ + ด้วยก็ได้นะ ไม่ว่ากัน ****



ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก

x

คะแนน

จำนวนผู้เข้าร่วม 3จิตพิศัย +3 ย่อ เหตุผล
veronghost + 1
pcr + 1 เห็นด้วยมากๆ
supin + 1 โดนใจให้ทิป

ดูบันทึกคะแนน

Tumn โพสต์ 2012-6-12 18:27:57
ขอบคุณมากๆครับ เดวไงว่างๆลองดู  
 เจ้าของ| tgdiscuz โพสต์ 2012-6-13 08:01:12
ไม่เข้าใจตรงไหนถามได้นะครับ ยินดีให้คำแนะนำครับ {:28_1070:}
Fulangco โพสต์ 2012-7-3 22:00:08
ขั้นตอนที่2.
ให้ทำการเปิดไฟล์ forum_index.php
...เอามาจากตรงไหนเหรอครับ...ผมหาไม่เจออ่ะครับ..
 เจ้าของ| tgdiscuz โพสต์ 2012-7-4 21:03:24
Fulangco ตอบกลับเมื่อ 2012-7-3 22:00
ขั้นตอนที่2.
ให้ทำการเปิดไฟล์ forum_index.php
...เอามาจากตรงไ ...


source/module/forum2/ ---- จะอยู่ในนี้ครับ forum2 อันนี้มาจากเรา copy file ข้างใน forum แล้วมาสร้างโพลเดอร์หลอก คือ forum2 นั้นเองครับ แล้วข้างในจะมีไฟล์ forum_index.php แล้วไล่แก้จุดที่มันอ้างอิงตาม ขั้นตอนครับ
Fulangco โพสต์ 2012-7-9 13:58:50
tgdiscuz ตอบกลับเมื่อ 2012-7-4 21:03
source/module/forum2/ ---- จะอยู่ในนี้ครับ forum2 อันนี้มาจากเรา copy ...

ขอบคุณมากๆ...เลยครับ...
mtts10448 โพสต์ 2012-7-10 13:34:39
ขอบคุนครับที่กรุณา อิอิ

แสดงความคิดเห็น

ยินดีครับ  โพสต์ 2012-7-11 15:21
tom1011 โพสต์ 2012-7-12 00:36:10
ขอบคุณมากๆครับ
Krai500 โพสต์ 2012-8-1 00:31:11
ขอรายงานน่ะครับ
1. ถ้าเราเพิ่ม plugin อีกตัวเช่น chat มันก็จะแสดงผลผิดเพี้ยน มันจะแสดง chat ขึ้นมาแทน
2. thread list ที่ เว็บบอร์ด ยังอยู่เหมือเดิม ถ้าจะให้หายไปทำได้มั้ยครับ
 เจ้าของ| tgdiscuz โพสต์ 2012-8-10 13:35:25
Krai500 ตอบกลับเมื่อ 2012-8-1 00:31
ขอรายงานน่ะครับ
1. ถ้าเราเพิ่ม plugin อีกตัวเช่น chat มันก็ ...

ก็ทำการเรียงลำดับ thread list อยู่อันดับแรกสิครับ ในการเรียงลำดับใน plugin เพราะ iframe กำหนดความสูงให้พอดีกับการแสดง thread list พอดีครับ ถ้าเพิ่ม chat มามันก็ไม่ได้อยู่ใน iframe ครับ

คะแนน

จำนวนผู้เข้าร่วม 1จิตพิศัย +1 ย่อ เหตุผล
Krai500 + 1

ดูบันทึกคะแนน

ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-11-21 23:21

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้