Danh mục sản phẩm

Danh mục các hãng xe

Hỗ trợ khách hàng

 

Kinh doanh:

Tel: +84 4 39844705

-----------

SaleOnline:

Tel: +84 4 39844916

-----------

Kĩ thuật:

Tel: +84 4 39847471

-----------

Kế toán:

Tel:+84 4 22148644

-----------


Xem chi tiết...

Đối tác

logo

Cty-SHB

jenka-media

noithatoto-cartoyvn

Tìm kiếm sản phẩm: Giá từ: 100 đến 1 triệu   /  1 đến 2 triệu  /  2 đến 5 triệu  /  trên 5 triệu  /  trên 10 triệu
Trang chủ Tin tức VM - Virtuemart hacking Virtuemart hack – Hiển thị sản phẩm liên quan trong cùng 1 category
Virtuemart hack – Hiển thị sản phẩm liên quan trong cùng 1 category
Virtuemart hack – Hiển thị sản phẩm liên quan trong cùng 1 category PDF. In Email

Đặt vấn đề: bạn có rất nhiều sản phẩm trong shop và muốn đặt 1 sản phẩm (related products) bạn cần phải tìm kiếm rồi thêm vào sản phẩm đang soạn thảo và nữa là có cả tình huống phải mở sản phẩm cũ ra để thêm mới các sản phẩm liên quan vào. Vì vậy, việc này sẽ làm mất khá nhiều thời gian của bạn. Có một cách khá hay để hiển thị các sản phẩm liên quan tới sản phẩm hiện tại là hiển thị ngẫu nhiên các sản phẩm khách hàng đang xem đồng thời không làm ảnh hưởng tới các sản phẩm đã được bạn thêm sản phẩm liên quan vào rồi.

Bạn mở file administrator/components/com_virtuemart/html/shop.product_details.php

Rồi tìm tới đoạn:

 

// Let's have a look wether the product has related products. $q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations "; $q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' "; $q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 4"; $db->query( $q ); /*// This shows randomly selected products from the products table // if you don't like to set up related products for each product $q = "SELECT product_sku FROM #__{vm}_product "; $q .= "WHERE product_publish='Y' AND product_id != $product_id "; $q .= "ORDER BY RAND() LIMIT 0, 4"; $db->query( $q );*/

 

và thay thế bằng đoạn này:

// RELATED PRODUCTS MODIFIED: IF REL PRODS DEFINED, WILL USE, ELSE RANDOM (3) PRODS DISPLAYED $q  = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations "; $q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' "; $db->query( $q );
if( $db->num_rows() > 0 ) {
// Let's have a look whether the product has related products. $q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations "; $q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' "; $q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 3"; $db->query( $q ); } else   { //  If no related items are selected for this product, this shows randomly selected products from the same category of the displayed product $q = "SELECT product_sku FROM #__{vm}_product,#__{vm}_product_category_xref "; $q .= "WHERE product_publish='Y' AND #__{vm}_product.product_id != $product_id"; $q .= " AND (#__{vm}_product_category_xref.category_id = '$category_id' AND #__{vm}_product_category_xref.product_id = #__{vm}_product.product_id) "; $q .= "ORDER BY RAND() LIMIT 0, 3"; $db->query( $q ); }

 

Chúc may mắn !