Tìm hiểu về nền tảng Magento
Magento là gì?
Đây là một platform về e-commerce được viết bằng ngôn ngữ lập trình PHP (dựa trên nền tảng Zend Framework) và cơ sở dữ liệu MySQL. Magento hoạt động theo mô hình EAV (entity – attribute – value) và có kiến trúc module.
Hiểu đơn giản, Magento là phần mềm mã nguồn mở để xây dựng các website thương mại điện tử với các chức năng cần thiết.
Nền tảng thương mại điện tử mã nguồn này cho phép các doanh nghiệp tạo các cửa hàng trực tuyến, chấp nhận thanh toán và quản lý sản phẩm. Ngoài ra, còn có các giải pháp trả phí đi kèm với các tính năng bổ sung, lưu trữ đám mây và hỗ trợ.
Magento hiện có 2 phiên bản:
- Community Edition (CE): phiên bản miễn phí
- Enterprise edition (EE): phiên bản trả phí.
Lịch sử phát triển của Magento
- Ngày 31/08/2007, công ty Varien – California, Mỹ cho ra mắt phiên bản beta Magento.
- 30/5/2008, phát hành phiên bản Magento 1 được chính thức phát hành.
- 30/5/2010, phát hành phiên bản Magento cho điện thoại di động giúp người dùng mua hàng thông qua ứng dụng thay vì website.
- 6/2011, eBay thông báo đã sở hữu 100% vốn đầu tư cho Magento.
- 3/11/2015, Magento tách khỏi eBay. Quỹ Permira đầu tư Magento trở thành một công ty độc lập.
- 17/11/2015, phiên bản Magento 2.0 được phát hành tạo nên một dấu mốc lịch sử quan trọng cho các platform về thương mại điện tử: trong 2016, 29,8% website thương mại điện tử đã được xây dựng từ Magento (Theo Aheadworks).
- 2018, Adobe mua lại nền tảng Magento.
Magento được sử dụng nhiều ở những nước phát triển, nhất là Mỹ, Anh và Úc. Hiện nay có khá nhiều website thương mại điện tử lớn tại Việt nam như PNJ Shopping, Trung Nguyên.. do công ty DBIZ phát triển, Lotte .. sử dụng Magento.
Cấu trúc cơ bản của Magento như thế nào?
Một module của Magento cơ bản sẽ có cấu trúc như sau:
Phần 1: Code. Đây là phần sẽ xác định các hành động mà các module sẽ tương tác với database.
Phần 2: Template. Đây là cách bố trí giao diện của module dựa trên code.
Trong đó:
- Block là nơi dùng để load dữ liệu, điều chỉnh dữ liệu từ database trước khi cho hiển thị dữ liệu ra template.
- Controller sẽ nhận yêu cầu từ phía người dùng (từ http) sau đó sẽ chuyển yêu cầu tới các lớp xử lý.
- Etc bao gồm các file xml dùng để config cho module. Mỗi module sẽ có những file xml khác nhau.
- Helper là nơi chứa các helper class, các “công cụ” giúp quá trình lập trình dễ dàng hơn.
- Model là chứa các câu lệnh truy vấn trực tiếp với cơ sở dữ liệu.
- SQL gồm các câu lệnh SQL để tạo bảng, tương tác thay đổi dữ liệu…
Những tính năng của Magento
Tính năng cơ bản
- Tích hợp hình ảnh phong phú, đưa ra nhiều tùy chọn đánh giá, danh mục sản phẩm yêu thích, quản lý hàng tồn, …. hỗ trợ quản lý hàng hóa.
- Tạo tài khoản, kiểm soát tình trạng tài khoản, lịch sử các giao dịch,…hỗ trợ quản lý user.
- Cho phép tìm kiếm và lựa chọn sản phẩm theo category nhanh chóng, … hỗ trợ quản lý category.
- Cung cấp các phương thức, module thanh toán đa dạng như: Paypal, ePay, thẻ tín dụng,… hỗ trợ thanh toán.
- Đa dạng hình thức liên hệ với khách hàng, giúp theo dõi toàn diện, hỗ trợ dịch vụ khách hàng.
- Hỗ trợ đa ngôn ngữ, cho phép giao dịch nhiều loại tiền tệ khác nhau.
- Hỗ trợ tìm kiếm trên SiteMap.
- Cho phép lựa chọn nhiều công cụ khuyến mãi và marketing khác nhau (phiếu giảm giá, voucher,….)
- Có khả năng tích hợp với Google Analytics để phân tích hoạt động và đưa ra nhiều báo cáo kết quả chính xác.
Những tính năng nổi bật của Magento
- Lưu trữ, chia sẻ thông tin các mặt hàng, cung cấp danh sách sản phẩm cho từng user khác nhau, … với Wishlists.
- Giúp bạn xem được nhiều điểm bán hàng, kho hàng khác nhau với Multi store/Mall feature.
- Đối chiếu, so sánh sản phẩm với Compare products.
- Hỗ trợ cho các chiến dịch bán hàng, marketing khác nhau với trang tĩnh CMS system for static pages.
- Phân loại theo gói, nhóm,… dựa vào những thuộc tính riêng biệt của từng sản phẩm với Bundle/Grouped/Digital products and more.
- Tự động tối ưu cho các công cụ tìm kiếm, tích hợp sẵn SEO với Good SEO performance.
Đặc biệt, nền tảng Magento còn cho phép đồng bộ hóa dữ liệu giữa phần mềm hiện có của bạn với một website hoàn toàn mới.
Những câu hỏi thường gặp về Magento
Nên chọn Magento hay WooCommerce?
Cả Magento lẫn WooCommerce đều là các nền tảng thương mại điện tử đầy đủ tính năng mà bạn có thể sử dụng để xây dựng bất kỳ loại cửa hàng trực tuyến nào. Tuy nhiên, điều này còn phụ thuộc vào chi phí và kỹ năng cá nhân của bạn.
WooCommerce có lợi thế về lượng người dùng và thị phần lớn vì hoạt động trên WordPress, công cụ xây dựng trang web phổ biến nhất thế giới. Người dùng WordPress sẽ cảm thấy thoải mái và quen thuộc khi làm việc trên WooCommerce. Tính dễ sử dụng và chi phí xây dựng, vận hành một cửa hàng thương mại điện tử theo quy mô của WooCommerce vượt hơn hẳn Magento.
Do đó, nếu bạn muốn một nền tảng thương mại điện tử dễ sử dụng, tiết kiệm chi phí và dễ mở rộng thì WooCommerce là sự lựa chọn hoàn hảo.
Trong khi đó, Magento phù hợp với các doanh nghiệp cấp kinh doanh với các nhóm development riêng hoặc các doanh nghiệp có thể thuê nhóm development .
Lập trình Magento là làm gì?
Một lập trình viên Magento sẽ:
- Phát triển, tích hợp hoặc đưa ra các tùy biến về theme.
- Đưa ra các tùy biến core để giúp Magento có thể ứng dụng hiệu quả cho những mô hình kinh doanh khác nhau trên thực tế.
- Phát triển các tiện ích (extension) mới.
- Khởi tạo hoặc import category và các sản phẩm trên trang web.
- Cập nhật các version mới nhất của Magento.
- Điều chỉnh hiệu suất thực thi (Performance tuning).
Một lập trình viên Magento cần có những kỹ năng gì?
Các kỹ năng cần có của một lập trình viên Magento là:
- Nắm vững về PHP
- Có kinh nghiệm về Modular Development
- Quen thuộc với kiến trúc MVC
- Có kiến thức vững về lập trình hướng đối tượng
- Nắm vững cơ sở dữ liệu MySQL
- Nắm vững và sử dụng tốt XML để có thể cấu hình các module trong Magento
- Kiến thức về search engine
Magento Connect có những loại module lưu trữ nào?
Có 3 loại module được lưu trữ trên Magento Connect:
- Core Modules
- Community Modules
- Commercial Modules (cung cấp thông tin giá cả và liên kết ngoài)
Sửa lỗi resize ảnh GIF như thế nào?
Do ảnh GIF không hỗ trợ Alpha nên khi Magento resize file GIF sẽ có thể xuất hiện background đen. Lỗi này thường xảy ra trên Magento 2.3.2.
Cách sửa:
app/code/YourVendor/YourModule/etc/di.xml
app/code/YourVendor/YourModule/Image/Adapter/Gd2.php
namespace YourVendor\YourModule\Image\Adapter;
class Gd2 extends \Magento\Framework\Image\Adapter\Gd2
{
public function checkAlpha($fileName)
{
$fileType = $this->getImageType();
if (in_array($fileType, [IMAGETYPE_GIF])) {
return false;
}
return (ord(file_get_contents($fileName, false, null, 25, 1)) & 6 & 4) == 4;
}
}
Chúc bạn sửa lỗi thành công nhé!
Mọi thắc mắc và góp ý liên quan, xin vui lòng liên hệ ngay TinoHost để được tư vấn chi tiết hoặc Fanpage để cập nhật những thông tin mới nhất nhé!
Với bề dày kinh nghiệm hơn 5 năm cung cấp hosting, dịch vụ cho thuê máy chủ, các dịch vụ liên quan đến tên miền và bảo mật website, hãy để TinoHost đồng hành cùng bạn trên con đường khẳng định thương hiệu trên bản đồ công nghệ toàn cầu!