Cách hiển thị số lượt xem sản phẩn trong virtuemart

Thảo luận trong 'VirtueMart' bắt đầu bởi hprobotic, 24/10/11.

  1. hprobotic

    hprobotic Active Member

    Cách hiển thị số lượt xem sản phẩm trong virtuemart

    Hôm nay nhân tiện build dự án mới. Người ta yêu cầu hiện thống kê số lượt xem sản phẩm
    Ngày trước mình cũng có nghĩ tới đoạn làm cái này mà mò trên mạng không có. Trình php thì kém nên cũng ko làm > Bỏ luôn
    May là lần này có người bắt làm nên cũng có động lực làm luôn => Viết luôn cái tut này cho ai cần :D
    Đầu tiên các bạn mở phpmyadmin lên sau đó tìm bảng jos_vm_product và thêm vào đó 1 field thông qua câu lệnh
    PHP:
    ALTER TABLE `jos_vm_productADD `product_thongkeINT11 NOT NULL 
    ( Ở đây mình đặt là "product_thongke" Tùy bạn muốn đặt tên field đó là gì cũng được. tuy nhiên nên đặt cái nào càng dễ nhớ càng tốt )
    Sau đó, trong folder joomla của các bạn. Các bạn mở file shop.product_details.php
    PHP:
    Đường dẫn file administrator/components/com_virtuemart/html/shop.product_details.php
    Các bạn tìm dòng
    PHP:
    $recent_products $ps_product->recentProducts($product_id,$tpl->get_cfg('showRecent'5));
    Sau đó các bạn chèn đoạn code dưới đây vào sau dòng đó
    Lưu ý : Mình đã ghi chú rõ ràng trong code. Các bạn có thể thay đổi nội dung phần ghi chú theo ý của các bạn nhưng đừng xóa để sau
    có v.đề gì còn sửa nhé
    PHP:
    /**
     * Code thống kê số lượng xem sản phẩm - By Hprobotic
     * 
     */
    // Hàm thống kê  by Hprobotic

    // Thiết lập  cookie to 10 giây
    $ip=$_SERVER['REMOTE_ADDR'];
    //$ip_local = $_SERVER['HTTP_X_FORWARDED_FOR'];
    setcookie("ip_addr"$iptime()+10);

    // Kiểm tra cookie
    if($_COOKIE['ip_addr']){;
    // Nếu cookie đã tồn tại print số lượng truy cập hiện tại

    $product_thongke = (int)$db_product->f("product_thongke");
    //$product_thongke .= $ip . " " . $ip_local;
    }else{

    // Nếu chưa có cookie thì ghi nhận vào database
    $product_thongke = (int)$db_product->f("product_thongke");
    $product_thongke_new $product_thongke 1;
        
    $q "UPDATE #__{vm}_product SET product_thongke = '$product_thongke_new' WHERE product_id = '$product_id' LIMIT 1 ";
        
    $db->query$q );

    }
    // Kết thúc  hàm thống kê by Hprobotic
    Tiếp sau đó các bạn tìm đến dòng
    PHP:
    /* Finish and Print out the Page */
    PHP:
    Thêm vào sau đó đoạn code sau
    // Bộ đếm by hprobotic http://joomlaviet.info/forum/members/hprobotic.html
    $tpl->set("product_thongke"$product_thongke);
    // Kết thúc bộ đếm
    Ok. Giờ thì mọi việc đã xong
    Mỏi tay quá ><
    Các bạn thêm đoạn code trên vào vị trí bất kì trong flypage.tpl.php nhé
    PHP:
    Có tất cả <?php echo $product_thongke ?> Lượt Xem Sản Phẩm
    Sau đó thử F5 để xem kết quả nhé
    Có cái link demo mình vừa thực hiện xong.
    Samsung MV800
    Xin cảm ơn các bạn đã theo dõi
    neehel, tung.cntt, joombasic4 others thích bài này.
  2. angocit

    angocit Thành viên mới

    Cảm ơn bạn mình đã làm và ok!
    tung.cntt thích bài này.
  3. Miso

    Miso Well-Known Member

    Tuyệt vời!
    tung.cntt thích bài này.
  4. tung.cntt

    tung.cntt Thành viên mới

    Trang demo đẹp quá bác nhỉ cái template đó tên là gì thế các bác pro?
  5. Miso

    Miso Well-Known Member

    JA Larix đó.
    tung.cntt thích bài này.
  6. hprobotic

    hprobotic Active Member

    Mình học điện tử nên đặt nick là hp robotic nha bạn. ko phải pro j đâu, oan uổng quá :(
  7. rongphuongdong

    rongphuongdong Thành viên mới

    Xin chào, bạn có thể hướng dẫn mình thêm 1 field keyword vào trong table vm_product và code cho nó hiện ra ở trang sản phẩm được không? thanks!
  8. cmcvn2704

    cmcvn2704 Thành viên mới

    Giúp mình với mình làm hoài mà vẫn không được: web demo của mình đây: 365ngaymua.com mới tập code nên không được ưng ý lắm

Chia sẻ trang này