Magento: Flat Catalog

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Tổng quan

Magento sử dụng mô hình EAV (Entity-Attribute-Value) để lưu trữ các dữ liệu về khách hàng, sản phẩm và danh mục trong cơ sở dữ liệu. Mô hình EAV cho phép bạn hoàn toàn mở rộng thêm các thuộc tính cho các đối tượng, và các thuộc tính này lại được lưu trữ phân tán trên nhiều bảng khác nhau thay vì một bảng.

Vì được lưu trữ trên nhiều bảng - và bao gồm các bản sao của một số thuộc tính tương tự - nên các câu lệnh truy vấn SQL có thể dài và phức tạp. Các đặc điểm của flat catalog là cho phép tạo các bảng mới trong đó mỗi hàng của bảng (bản ghi - record) sẽ chứa tất cả các dữ liệu cần thiết về sản phẩm hay danh mục.

Trong những phiên bản Magento cũ hơn, điều này là cần thiết để xây dựng lại flat catalog mỗi lần bạn thay đổi các thuộc tính sản phẩm hoặc các nhóm danh mục - sản phẩm. Trong phiên bản này thì flat catalog sẽ được cập nhật thường xuyên cho bạn.

Các tuỳ chọn flat catalog không những cho phép lập chỉ mục cho chính flat catalog và flat product, mà còn cho phép lập chỉ mục cho cả catalog thường cũng như các quy tắc về mức giá của giỏ hàng. Nếu bạn có một lượng lớn SKU (500,000 hoặc nhiều hơn) thì Magento có thể lập chỉ mục rất nhanh cho các danh mục được đặt mua nếu bạn cho phép flat catalog hoạt động.

Lưu ý: Trước khi kích hoạt flat catalog cho store thì bạn cần đảm bảo rằng bạn đã kiểm tra cấu hình trong môi trường phát triển.

http://v1study.com/public/images/article/magento-flat-catalog.png

Bước 1:

Kích hoạt Flat Catalog

1. Từ Admin bạn chọn System > Configuration.

2. Tại phần Catalog bạn chọn Catalog.

3. Mở rộng phần Frontend, sau đó:

a. Đặt Use Flat Catalog Category thành “Yes”.

b. Đặt Use Flat Catalog Product thành “Yes”.

4. Nhấn nút Save Config để lưu.

5. Khi có dòng nhắc (ở phía trên, ngay dưới mục Dashboard) cần làm mới các chỉ mục thì bạn click vào link Index Management (hoặc mở phần System > Index Management) rồi thực hiện theo hướng dẫn sau:

Tại cột Status nếu ở ô nào xuất hiện trạng thái REINDEX REQUIRED (màu đỏ) thì ở cột Action bạn nhấn vào liên kết Reindex Data tại ô tương ứng cùng hàng.

http://v1study.com/public/images/article/magento-index-management.png

Có cách khác nhanh hơn là phía trước cột Index có các ô checkbox, bạn tích chọn những ô tương ứng có trạng thái REINDEX REQUIRED, sau đó tại phần Actions (phía trên các cột, nằm bên phải) bạn chọn hành động là Reindex Data rồi nhấn nút Submit.

Bước 2:

Xác nhận các kết quả

Cách 1: Xác nhận kết quả cho một sản phẩm

1. Mở một tab mới để mở trang home phía khách (storefront).

3. Từ Admin bạn chọn Catalog > Manage Products. Sau đó:

a. Nhấn chọn một sản phẩm bất kỳ để sửa.

b. Tại tab General bạn thêm đoạn “_DEMO” vào sau tên sản phẩm tại trường Name.

4. Nhấn nút Save để lưu.

5. Tại trang dành cho khách bạn thử tìm sản phẩm có chứa cụm "DEMO" rồi chuyển tới danh mục chứa sản phẩm phẩm tìm được. Sau đó bạn thử refresh trang để xem kết quả có gì khác so với trước khi bạn sử dụng flat catalog hay không; sự thay đổi có thể xảy ra trong khoảng một phút hoặc theo lịch trình công việc định kỳ của bạn.

Cách 2: Xác nhận kết quả cho nhiều sản phẩm

1. Mở trang home của storefront .

2. Từ Admin bạn chọn Catalog > Manage Categories.

3. Tại phần Choose Store View (phía trên-trái) bạn đặt thành một trong các lựa chọn sau:

- All Store Views

- Hoặc chọn một store view bạn muốn

4. Tại bảng điều khiển phía dưới bạn chọn một danh mục (Default Category chẳng hạn), sau đó click nút Add Subcategory, sau đó:

a. Tại trường Name bạn nhập “Test Category”.

b. Đặt Is Active thành “Yes”.

c. Click nút Save Category để lưu.

d. Click chọn tab Category Products, sau đó click nút Reset Filter để hiển thị tất cả các sản phẩm.

e. Chọn vào ô checkbox của một vài sản phẩm để thêm chúng vào danh mục mới tạo, sau đó click nút Save Category để lưu.

5. Tại trang dành cho khách bạn tìm kiếm hoặc chuyển tới danh mục vừa tạo; bạn có thể refresh trang để thấy kết quả thay đổi.

» Tiếp: Block
« Trước: Tiện ích con (Widget)
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!