วิธีการแก้ไข้ การแสดงผลผิดพลาดจากการ วนลูป(loop) ใน event บน phpbb

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: วิธีการแก้ไข้ การแสดงผลผิดพลาดจากการ วนลูป(loop) ใน event บน phpbb

Re: วิธีการแก้ไข้ การแสดงผลผิดพลาดจากการ วนลูป(loop) ใน event บน phpbb

โดย thatsawan » 25/12/2018 3:02 pm

โค้ด: เลือกทั้งหมด

public function viewtopic_modify_post_row($event) {
   $post_row = $event['post_row'];
        $post_id = $post_row['POST_ID'];
#ดึงค่าจาก event มาใช้งาน

#เพิ่มค่า
   $post_row['POST_USER_LIKE_COUNT'] = '0';
            $post_row['POST_ADD_CLASS'] = 'like';
            $post_row['POST_ADD_LIKE_URL'] = $this->helper->route(
                    'mindphp_m_button_like_controller', array(
                'action' => 'control_like',
                'topic' => $event['row']['topic_id'],
                'post' => $event['row']['post_id']
            ));


#นำค่ากลับไปที่ call event
            $event['post_row'] = $post_row;

} 
event template
viewtopic_body_postrow_post_notices_after.html

วิธีใช้งาน

โค้ด: เลือกทั้งหมด

 <span title="{postrow.POST_LIKERS}" class="{postrow.POST_ADD_CLASS}"  id="like_img_{postrow.POST_ID}"></span> 
* ต้องใส่ postrow. ตามด้วยตัวแปล เรา

Re: วิธีการแก้ไข้ การแสดงผลผิดพลาดจากการ วนลูป(loop) ใน event บน phpbb

โดย mindphp » 25/12/2018 3:02 pm

ต้องการโชว์ข้อความที่เคยตอบ หรือ ช่องแสดงกล่องตอบข้อความ

ถ้ากล่องตอบข้อความทำใน event html ก็ได้

ส่วนการแสดงผล ทำ Ajax ดึง แล้วใส่ event html เพื่อเรียกให้ ajax ทำงาน

วิธีการแก้ไข้ การแสดงผลผิดพลาดจากการ วนลูป(loop) ใน event บน phpbb

โดย Ittichai_chupol » 25/12/2018 2:57 pm

อยากกทราบว่า จะแก้ไข้อย่างไรให้ ผลลัพจากการสร้าง ลูป เพื่อมาแสดงเเบบ event ให้ถุกต้อง
คือ ผมได้ทดสอบ พัฒนา extension เพื่อใช้สำหรับตอบกลับ comment โดย เพื่อได้สร้าง เป็น controller เเล้วนำมาแสดง ณ ตำแหน่ง หน้าแสดงกระทู้
โดยค่าที่ผมส่งมานั้น เป็น ลิ้งค์ ที่จะส่งไปยังหน้า controller แต่จำเป็นที่จะต้องสร้างลูป เพราะว่ามีข้อมูลโพสหลายอัน
แต่เมื่อสร้าง ลูป แล้ว กับไม่ได้เป็นอย่างที่ต้องการ คือ มีการวนลูป หน้าว่างมาก่อน แล้วค่อเป้นส่วนของข้อมูล ดังรูปภาพ

รูปภาพ

event php ที่ใช้
'core.viewtopic_modify_post_row'

event html ที่ใช้
viewtopic_body_postrow_post_notices_after


ส่วนที่ได้ทำการเขียนโคด event php

โค้ด: เลือกทั้งหมด


  public function viewtopic_modify_post_row($event) {
        if ($this->config['m_sub_comment_alert']) {
            print($event['row']['post_id']);
            $post_row = array(
                'SHEARCH_POSTS' => $this->helper->route('m_sub_comment_controller', array(
                    'action' => 'save',
                    'topic' => $event['row']['topic_id'],
                    'post' => $event['row']['post_id'],
                )),
            );
            print_r($post_row);
            $this->template->assign_block_vars('postrow', $post_row);
        }
    }
ส่วนที่แสดงใน event html

โค้ด: เลือกทั้งหมด

 <div class="reform"> 
            <span style="display:block; padding-left:640px; margin-top:10px;">
                <button class="reply_sub_com">ตอบกลับ</button>
            </span>  
           
            <input type="text" class="sub_com_action"  value="{postrow.SHEARCH_POSTS}">    
        
        </div>
        <span style="display:block; padding-left:640px; margin-top:10px;">
            <button class="show_sub_com">ความคิดเห็นย่อย</button>
        </span>

ข้างบน