ออกแบบเทมเพลต template opencart
ออกแบบเทมเพลต ร้านค้าออนไลน์ ให้แตกต่าง นอกกรอบสนใจคลิ๊กเลย
โฮส host opencart
บริการจัดทำเว็บไซต์ครบวงจร ออกแบบ โปรโมท โฮสติ้ง งานออนไลน์วางใจเรา สยามเว็บไทย
โฮส host opencart
พื้นที่โฮสติ้งพร้อมติดตั้งระบบ opencart ภาษาไทย พร้อมใช้งาน

ผู้เขียน หัวข้อ: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น  (อ่าน 1883 ครั้ง)   

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ amdev

  • ติดตั้ง แก้ไข ปรับแต่ง เขียนโมดูล Opencart PM มาโลด Tel>>089o๒๓7๒๓5
  • Administrator
  • ปรมาจารย์
  • *****
  • กระทู้: 2030
  • งดตอบคำถามกับคนที่ไม่ให้แท็กกับผู้พัฒนา
    • Shopping Cart Systems | Cheap Price From Amazon
    • อีเมล์
เห็นจากกระทู้
http://www.siamopencart.com/webboard/index.php/topic,995.0.html
และผมก็ได้นำเสนอวิธีการสร้างเมนูให้แสดงสินค้าทั้งหมดแล้ว เลยจะเอามาใช้คู่กัน

1.ไปที่ \catalog\controller\module\category.php

หา
   
โค๊ด: [Select]
protected $path = array();และเพิ่มอันนี้ลงไปด้านล่าง

โค๊ด: [Select]
private $all = 0;
จากนั้นหา


โค๊ด: [Select]
if ($results) {
$output .= '<ul>';
    }

แล้วเพิ่มโค้ดนี้ลงไปข้างล่าง $output .= '<ul>';

               
โค๊ด: [Select]
$this->all = $this->getAllProductRow();

$output .= '<li><a href="index.php?route=product/allproducts">'.$this->data['txt_allproduct'].'('.$this->all.')</a></li>';

2.หา

       
โค๊ด: [Select]
$this->data['heading_title'] = $this->language->get('heading_title');
เพิ่มบรรทัดนี้ลงไปด้านล่าง

      
โค๊ด: [Select]
$this->data['txt_allproduct'] = $this->language->get('txt_allproduct');

3.จากนั้นให้ไปเพิ่มในไฟล์ภาษาที่
\catalog\language\thai\module\category.php
(\catalog\language\english\module\category.php)

เพิ่ม

โค๊ด: [Select]
$_['txt_allproduct'] = 'สินค้าทั้งหมด';
4.จากนั้นเพิ่มโค้ดเพื่อเรียกจำนวนสินค้าทั้งหมด(sql) โดยเอาฟังก์ชั่นตัวนี้ไว้ก่อนบรรทัดที่อยู่ล่างสุด

โค๊ด: [Select]
}
?>


   
โค๊ด: [Select]
public function getAllProductRow(){
$query = $this->db->query("SELECT product_id FROM product WHERE status='1'");

$product_data = $query->num_rows;
return $product_data;

}

เสร็จแล้วคับ แค่นี้ก็ได้หมวดหมู่อีก 1 หมวดหมู่ที่แสดงจำนวนและลิงค์ไปยังหน้าแสดงสินค้าทั้งหมดได้
สำหรับใครที่ไม่ได้ทำหน้าแสดงสินค้าทั้งหมดเอาไว้ก็อาจจะแสดงแค่จำนวนก็ได้โดยแก้ที่

               
โค๊ด: [Select]
$output .= '<li><a href="index.php?route=product/allproducts">'.$this->data['txt_allproduct'].'('.$this->all.')</a></li>';

เป็น

               $output .= '<li>'.$this->data['txt_allproduct'].'('.$this->all.').'</li>';




โค้ดทั้งหมดที่สมบูรณแล้วใน \catalog\controller\module\category.php ก็อปปี้เอาไปวางทับเลยก็ได้

โค๊ด: [Select]
<?php  
class ControllerModuleCategory extends Controller {
protected $category_id 0;
protected $path = array();
private $all 0;

protected function index() {
$this->language->load('module/category');

    
$this->data['heading_title'] = $this->language->get('heading_title');
$this->data['txt_allproduct'] = $this->language->get('txt_allproduct');

$this->load->model('catalog/category');
$this->load->model('catalog/product');
$this->load->model('tool/seo_url');

if (isset($this->request->get['path'])) {
$this->path explode('_'$this->request->get['path']);

$this->category_id end($this->path);
}

$this->data['category'] = $this->getCategories(0);

$this->id 'category';

if (file_exists(DIR_TEMPLATE $this->config->get('config_template') . '/template/module/category.tpl')) {
$this->template $this->config->get('config_template') . '/template/module/category.tpl';
} else {
$this->template 'default/template/module/category.tpl';
}

$this->render();
  
}
    public function 
getAllProductRow(){
$query $this->db->query("SELECT product_id FROM product WHERE status='1'");

$product_data $query->num_rows;
return $product_data;

}

protected function getCategories($parent_id$current_path '') {
$category_id array_shift($this->path);

$output '';

$results $this->model_catalog_category->getCategories($parent_id);
$this->all $this->getAllProductRow();


if ($results) { 
$output .= '<ul>';
    
}
$output .= '<li><a href="index.php?route=product/allproducts">'.$this->data['txt_allproduct'].'('.$this->all.')</a></li>';


foreach ($results as $result) {
if (!$current_path) {
$new_path $result['category_id'];
} else {
$new_path $current_path '_' $result['category_id'];
}

$output .= '<li>';

$children '';

if ($category_id == $result['category_id']) {
$children $this->getCategories($result['category_id'], $new_path);
}
/*

if ($this->category_id == $result['category_id']) {
$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&amp;path=' . $new_path)  . '"><b>' . $result['name'] . '</b></a>';
} else {
$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&amp;path=' . $new_path)  . '">' . $result['name'] . '</a>';
}*/

if ($this->category_id == $result['category_id']) {
$product_total $this->model_catalog_product->getTotalProductsByCategoryId($result['category_id']);
$output .= '<a href="' $this->model_tool_seo_url->rewrite(HTTP_SERVER 'index.php?route=product/category&amp;path=' $new_path)  . '"><b>' $result['name'] . '</b>('.$product_total.')</a>';
} else {
$product_total $this->model_catalog_product->getTotalProductsByCategoryId($result['category_id']);
$output .= '<a href="' $this->model_tool_seo_url->rewrite(HTTP_SERVER 'index.php?route=product/category&amp;path=' $new_path)  . '">' $result['name'] . ' ('.$product_total.')</a>';
}

        
$output .= $children;
        
        
$output .= '</li>'
}
 
if ($results) {
$output .= '</ul>';
}

return $output;
}
}
?>
« แก้ไขครั้งสุดท้าย: 30 สิงหาคม 2010, 03:28:49 PM โดย amdev »

ออฟไลน์ amdev

  • ติดตั้ง แก้ไข ปรับแต่ง เขียนโมดูล Opencart PM มาโลด Tel>>089o๒๓7๒๓5
  • Administrator
  • ปรมาจารย์
  • *****
  • กระทู้: 2030
  • งดตอบคำถามกับคนที่ไม่ให้แท็กกับผู้พัฒนา
    • Shopping Cart Systems | Cheap Price From Amazon
    • อีเมล์
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #1 เมื่อ: 31 สิงหาคม 2010, 09:00:19 AM »
ผมทำเป็นโมดูลแล้วน่ะคับ ทดสอบแล้ว
โหลดเลย>> โมดูลแสดงสินค้าทั้งหมด

ออฟไลน์ พี่ปิ๊

  • แฟนคลับ
  • **
  • กระทู้: 76
    • ขายหนังDVD,หนังราคาถูก,แผ่นหนัง,ซีรีย์เกาหลี,ซีรี่ย์ญี่ปุ่น,ซีรี่ย์ฝรั่ง,การ์ตูน,หนังใหม่ราคาถูก
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #2 เมื่อ: 01 กันยายน 2010, 01:49:08 AM »


1.47เป็นเครื่องหมาย+ผมอยากให้มาอยู่ข้างล่างอะครับ สามารถทำได้ไหมครับ

ออฟไลน์ amdev

  • ติดตั้ง แก้ไข ปรับแต่ง เขียนโมดูล Opencart PM มาโลด Tel>>089o๒๓7๒๓5
  • Administrator
  • ปรมาจารย์
  • *****
  • กระทู้: 2030
  • งดตอบคำถามกับคนที่ไม่ให้แท็กกับผู้พัฒนา
    • Shopping Cart Systems | Cheap Price From Amazon
    • อีเมล์
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #3 เมื่อ: 01 กันยายน 2010, 08:17:06 AM »


1.47เป็นเครื่องหมาย+ผมอยากให้มาอยู่ข้างล่างอะครับ สามารถทำได้ไหมครับ

ทำได้คับ 147 ไปแก้ที่หน้า home.tpl โค้ดประมาณนี้

   
โค๊ด: [Select]
<table class="list">

      <?php for ($i 0$i sizeof($products); $i $i 4) { ?>

      <tr>

        <?php for ($j $i$j < ($i 4); $j++) { ?>

        <td style="width: 25%;"><?php if (isset($products[$j])) { ?>

          <a href="<?php echo $products[$j]['href']; ?>"><img class="thumb" src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a><br />

          <a href="<?php echo $products[$j]['href']; ?>"><?php echo $products[$j]['name']; ?></a><br />

          <?php if ($display_price) { ?>

          <?php if (!$products[$j]['special']) { ?>

          <span style="color: #900; font-weight: bold;"><?php echo $products[$j]['price']; ?></span><br />

          <?php } else { ?>

          <span style="color: #900; font-weight: bold; text-decoration: line-through;"><?php echo $products[$j]['price']; ?></span> <span style="color: #F00;"><?php echo $products[$j]['special']; ?></span>

          <?php ?>

          <?php ?>
<a href="<?php echo $products[$j]['href']; ?>"><img src="catalog/view/theme/ProShop/image/viewDetails.png"alt="view details" /></a><br /><!--เพิ่มโค้ดตรงนี้-->
          <?php ?>
         
         
         
          </td>

        <?php ?>

      </tr>

      <?php ?>

    </table>

ประมาณนี้คับ

ออฟไลน์ coffeebar

  • มือใหม่หัดขับ
  • *
  • กระทู้: 12
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #4 เมื่อ: 03 ตุลาคม 2010, 10:51:28 PM »
ผมลอง ใช้โมดูล แล้ว error ตามนี้ ครับ
Unknown: Object of class ControllerModuleCategory could not be converted to string in C:\AppServ\www\catalog\controller\module\category.php on line 14Notice: Object of class ControllerModuleCategory to string conversion in C:\AppServ\www\catalog\controller\module\category.php on line 14

Notice: Undefined variable: getallproduct in C:\AppServ\www\catalog\view\theme\default\template\module\category.tpl

ใช้ V1.4.8 ทีม default
Local Host

ออฟไลน์ amdev

  • ติดตั้ง แก้ไข ปรับแต่ง เขียนโมดูล Opencart PM มาโลด Tel>>089o๒๓7๒๓5
  • Administrator
  • ปรมาจารย์
  • *****
  • กระทู้: 2030
  • งดตอบคำถามกับคนที่ไม่ให้แท็กกับผู้พัฒนา
    • Shopping Cart Systems | Cheap Price From Amazon
    • อีเมล์
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #5 เมื่อ: 04 ตุลาคม 2010, 09:04:11 AM »
ผมลอง ใช้โมดูล แล้ว error ตามนี้ ครับ
Unknown: Object of class ControllerModuleCategory could not be converted to string in C:\AppServ\www\catalog\controller\module\category.php on line 14Notice: Object of class ControllerModuleCategory to string conversion in C:\AppServ\www\catalog\controller\module\category.php on line 14

Notice: Undefined variable: getallproduct in C:\AppServ\www\catalog\view\theme\default\template\module\category.tpl

ใช้ V1.4.8 ทีม default
Local Host

แนะนำให้ไปใช้ 149 เลยคับ ผมทำเป็นโมดูล เปิดปิดได้ แล้วก็มีลิงค์ไปที่หน้าแสดงสินค้าทั้งหมดด้วย
ไม่ต้องทำเองเหมือน 148 คับ

ออฟไลน์ coffeebar

  • มือใหม่หัดขับ
  • *
  • กระทู้: 12
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #6 เมื่อ: 04 ตุลาคม 2010, 09:26:56 AM »
ขอบคุณครับ

ออฟไลน์ premium88k

  • มือใหม่หัดขับ
  • *
  • กระทู้: 1
    • ของพรีเมี่ยม
    • อีเมล์
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #7 เมื่อ: 28 พฤษภาคม 2011, 09:48:52 AM »
ดีจังเลย ขอบคุณมากกก  ^-^
/**/

ออฟไลน์ bunzenji

  • มือใหม่หัดขับ
  • *
  • กระทู้: 10
    • overnewfashion
    • อีเมล์
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #8 เมื่อ: 28 สิงหาคม 2011, 02:56:32 PM »
ของผมมีปัญหาครับ ผมขึ้นแบบนี้ โหลดจากด้านบน

Unknown: Object of class ControllerModuleCategory could not be converted to string in /home/overnewshop.com/overnewshop.com/catalog/controller/module/category.php on line 14Notice: Object of class ControllerModuleCategory to string conversion in /home/overnewshop.com/overnewshop.com/catalog/controller/module/category.php on line 14
 :-X

ออฟไลน์ bunzenji

  • มือใหม่หัดขับ
  • *
  • กระทู้: 10
    • overnewfashion
    • อีเมล์
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #9 เมื่อ: 28 สิงหาคม 2011, 04:45:30 PM »
ลืมบอกไปครับของผม  V 1.4.9 ครับ  :-X

ออฟไลน์ surathai69

  • มือใหม่หัดขับ
  • *
  • กระทู้: 20
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #10 เมื่อ: 30 สิงหาคม 2011, 08:58:04 AM »
คือ ผมcopy code ไปทับอันเก่าแล้วอ่าครับ แล้วก็เพิ่มภาษาลงไปแล้ว
แต่ทีนี้ ไปเช็คดูในเว็บ สินค้าทั้งหมด(xx) มันโชว์ ทุกหมวดย่อย เลยอ่ะครับ

ออฟไลน์ Sanpon203

  • แฟนคลับ
  • **
  • กระทู้: 72
Re: เพิ่มหมวดหมู่ แสดงสินค้าทั้งหมด xxx ชิ้น
« ตอบกลับ #11 เมื่อ: 30 สิงหาคม 2011, 10:19:13 AM »
ยัง งงๆ อยู่ อิอิ O0

 

ผู้สนับสนุน