สร้าง Popup progress bar - เขียน Extension phpbb3.1

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

สร้าง Popup progress bar - เขียน Extension phpbb3.1

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

2015-03-06_14-47-06.png
2015-03-06_14-47-06.png (46.82 KiB) Viewed 855 times
ใส่ script ในไฟล์ HTML

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

	<script type="text/javascript">
	// <![CDATA[
		/**
		* Popup search progress bar
		*/
		function popup_progress_bar(progress_type)
		{
			close_waitscreen = 0;
			// no scrollbars
			popup('{UA_PROGRESS_BAR}&type=' + progress_type, 400, 240, '_index');
		}
	// ]]>
	</script>
ปุุ่มกด

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

<input type="submit" name="submit" value="{L_AUTOGROPS}" onclick="popup_progress_bar('create');" class="button1" />
ไฟล์ php _module.php

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

 $action = request_var('action', '');
                if ($action)
        {
            switch ($action)
            {
                case 'progress_bar':
                    $type = request_var('type', '');
                    $this->display_progress_bar($type);
                break;
                        }
                } 
ส่งค่า

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

    $template->assign_vars(array(
                            'U_ACTION'              => $this->u_action,
                           // 'U_PROGRESS_BAR'        => append_sid("{$phpbb_admin_path}index.$phpEx", "i=$id&mode=$mode&action=progress_bar"),
                            'UA_PROGRESS_BAR'        => addslashes(append_sid("{$phpbb_admin_path}index.$phpEx", "i=$id&mode=$mode&action=progress_bar")),
                            )); 
ส่วนที่เเสดงใน popup

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

function display_progress_bar($type)
    {
        global $template, $user;

        //$l_type = ($type == 'create') ? 'INDEXING_IN_PROGRESS' : 'DELETING_INDEX_IN_PROGRESS';
                $l_type = 'INDEXING_IN_PROGRESS';
        adm_page_header($user->lang[$l_type]);

        $template->set_filenames(array(
            'body'    => 'progress_bar.html')
        );

        $template->assign_vars(array(
            'L_PROGRESS'            => $user->lang[$l_type],
            'L_PROGRESS_EXPLAIN'    => $user->lang[$l_type . '_EXPLAIN'])
        );

        adm_page_footer();
    } 
ส่วนที่จะสั่งให้ ปิด popup เมื่อทำงานเสร็จ

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

 trigger_error($user->lang['AUTOGROP_PROGRESS'] . adm_back_link($this->u_action) . $this->close_popup_js()); 

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

 function close_popup_js()
    {
        return "<script type=\"text/javascript\">\n" .
            "// <![CDATA[\n" .
            "    close_waitscreen = 1;\n" .
            "// ]]>\n" .
            "</script>\n";
    } 

ไฟล์ภาษาที่ใช้เเสดงใน popup

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

        'INDEXING_IN_PROGRESS'	=> 'อยู่ระหว่างการจัดกลุ่มอัตโนมัติ',
	'INDEXING_IN_PROGRESS_EXPLAIN'	=> 'กำลังจัดกลุ่มอัตโนมัติสำหรับกลุ่มที่เลือก กระบวนการนี้อาจกินเวลานาน  ขึ้นอยู่กับขนาดเว็บบอร์ด',
    'AUTOGROP_PROGRESS' => 'ทำการจัดกลุ่มอัตโนมัติเรียบร้อยเเล้ว',
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 57