หน้าเว็บ

วันอาทิตย์ที่ 15 ตุลาคม พ.ศ. 2560

แก้ปัญหา Joomla! 3.x pagination limitstart=0

วิธีแก้ปัญหา Joomla version 3.x มี link เพิ่มขึ้นเมื่อกลับไปหน้าแรก จะมี Duplicate Links ?limitstart=0 ตามหลัง

แก้ไข 2 จุด ไฟล์ : /libraries/cms/pagination/pagination.php
ฟังก์ชัน protected function _buildDataObject


จุดที่ 1 (นำโค้ดด้านล่างนี้แทนที่ได้เลย - ประมาณ บรรทัดที่ 783)
// Set the empty for removal from route
// @todo remove code: $page = $page == 0 ? '' : $page;
$data->start->base = '0';
//$data->start->link = JRoute::_($params . '&' . $this->prefix . 'limitstart=0');

$data->start->link = JRoute::_($params . '&' . $this->prefix);

$data->previous->base = $page;

$data->previous->link = JRoute::_($params . '&' . $this->prefix . 'limitstart=' . $page);
if ($this->pagesCurrent == 2) {
$data->previous->link = JRoute::_($params . '&' . $this->prefix);
}

// Set the next and end data objects.




จุดที่ 2  (ประมาณ รรทัดที่ 822)
$data->pages[$i]->base = $offset;
$data->pages[$i]->link = JRoute::_($params . '&' . $this->prefix . 'limitstart=' . $offset);

แทรก code ด้านล่าง
if ($offset == 0) {
$data->pages[$i]->link = JRoute::_($params . '&' . $this->prefix);

}

code ด้านบนที่แทรก หมายถึง หากอยู่หน้าอื่น ให้เมื่อกด ลิงค์หน้า 1 ให้กำหนดลิงค์ โดยไม่มี limitstart=0

ไม่มีความคิดเห็น:

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