1. Giới thiệu

Botble CMS (bót bồ) là CMS được xây dựng trên nền tảng Laravel framework do team mình (Botble team https://botble.com) phát triển từ 2015.

Phiên bản hiện tại là 5.2 sử dụng Laravel 7.x.

CMS này được xây dựng trên nền tảng kế thừa từ WordPress, một số concepts hay của WordPress đã được sử dụng trong CMS bên mình.

Những tính năng như themes, plugins, widget, theme options, shortcode, custom fields, contact form… được bên mình xây dựng lại trên nền tảng Laravel.

Những tính năng này của WordPress khá hay và nhiều CMS khác cũng làm theo.

Giao diện admin trực quan và dễ tiếp cận, mặc định sẽ có 2 ngôn ngữ trong admin là Tiếng Anh và Tiếng Việt, dễ dàng sử dụng cho khách hàng người Việt mà không cần việt hoá.

Đây là CMS trả phí và hiện tại team mình đang bán trên Codecanyon: https://codecanyon.net/item/botble-cms-php-platform-based-on-laravel-framework/16928182

Mọi việc mua bán, hỗ trợ, cập nhật đều thông qua Codecanyon.

Ảnh chụp màn hình trang quản trị

 

Một số bài viết về CMS bên mình:

Một số websites sử dụng CMS: https://trends.builtwith.com/websitelist/Botble

Thống kê tình hình sử dụng Botble CMS: https://trends.builtwith.com/cms/Botble

Các chức năng trong bản CMS mặc định:

  • Blog, page, menu, thư viện hình ảnh, custom fields.
  • Đa ngôn ngữ trong admin panel và bên ngoài websites, trong admin mặc định có 2 ngôn ngữ Anh và Việt.
  • Hỗ trợ sitemap: https://cms.botble.com/sitemap.xml
  • Hệ thống lưu trữ tập tin, hình ảnh. Hỗ trợ Amazon S3.
  • RESTful API.
  • Thống kê truy cập website trực tiếp trong admin panel.
  • Quản lý người dùng và phân quyền theo roles & permissions.
  • Gồm 2 themes mặc định với đầy đủ tính năng của trang tin tức, blog.
  • Bộ công cụ hỗ trợ lập trình: tạo theme, plugin, widget dễ dàng thông qua command line.

2. Cấu trúc ứng dụng

CMS này được team mình phát triển theo dạng modules, bao gồm nhiều module liên kết với nhau để tạo ra ứng dụng hoàn chỉnh.

Việc chia tách module giúp cho ứng dụng trở nên linh hoạt, dễ mở rộng và bảo trì.

Cấu trúc ứng dụng

Các modules và theme của Botble CMS được đặt toàn bộ trong thư mục /platform và giữ nguyên cấu trúc mặc định của Laravel, bên mình không thêm/bớt hay sửa các thư mục /app, /bootstrap, /config, /database, /routes… của Laravel. Điều này giúp dễ dàng hơn trong việc nâng cấp phiên bản Laravel khi mà Laravel được release liên tục 6 tháng 1 lần.

Bên mình sử dụng dạng modules để phát triển, các bạn có thể xem thêm về cách làm trong series này

[Laravel Tutorials] Tổ chức theo dạng packages/modules trong ứng dụng Laravel – Phần 1

Trong thư mục platform sẽ có 4 thư mục con:

  • core: như cái tên, đây là thư mục chứa bộ core của CMS bên mình, là những code bắt buộc phải có khi sử dụng CMS bên mình.
  • packages: được cài đặt thông qua composer theo kiểu path, trỏ thẳng tới thư mục chứa source thay vì sử dụng qua packagist.org (https://getcomposer.org/doc/05-repositories.md#path). Những modules này không thể bật/tắt hay xoá bỏ trong admin panel nhưng có thể xoá bằng cách xoá trong composer.json và chạy composer update.
  • plugins: đây là những plugins do team mình hoặc người dùng phát triển, những plugins là những module cộng thêm để hoàn chỉnh ứng dụng, những plugin này có thể tắt hoặc xoá bỏ dễ dàng từ trong admin panel.
  • themes: đây là nơi chứa các themes do người dùng phát triển. Các theme cũng có thể được kích hoạt/huỷ kích hoạt hay xoá bỏ từ admin panel.

Đây là cách bên mình khai báo và load các modules:

 

3. Cài đặt

Phiên bản hiện tại hiện sử dụng Laravel framework 7.x nên yêu cầu PHP >= 7.2.5, xem đầy đủ yêu cầu hệ thống tại https://docs.botble.com/cms/5.2#requirement

Việc cài đặt CMS này khá đơn giản và người không rành lập trình cũng có thể tiến hành cài đặt chỉ với vài bước.

  • Upload file .zip tải về từ Codecanyon lên hosting của bạn và giải nén vào thư mục public_html
  • Tạo database và import database mặc định từ file database.sql trong source code.
  • Copy nội dung file .env.example và tạo file .env với nội dung trên. Sau đó sửa APP_URL và các thông tin cấu hình database.

Một số sản phẩm như Flex Home (https://codecanyon.net/item/flex-home-laravel-real-estate-multilingual-system/25197385) hay Simple Blog (https://codecanyon.net/item/simple-blog-laravel-blog-script-based-on-botble-cms/25750009) sẽ được bên mình miễn phí dịch vụ cài đặt, sau khi mua source thì liên hệ bên mình để cài đặt trên hosting của bạn.

4. Phát triển theme

Bản CMS sẽ có 2 themes mặc định là Ripple và NewsTV, các bạn có thể dựa vào 2 themes này để phát triển theme của riêng mình.

Việc tạo theme cũng khá đơn giản, bắt đầu bằng câu lệnh php artisan cms:theme:create <tên theme>. Lệnh này sẽ tạo ra cấu trúc file cơ bản để các bạn bắt đầu phát triển theme.

Tài liệu hướng dẫn cho việc tạo theme: https://docs.botble.com/cms/5.2/theme

Tạo widgets cho theme: https://www.youtube.com/watch?v=FXQwT_95jdA

Cấu trúc của 1 theme

5. Phát triển plugin

CMS cũng được hỗ trợ các commands để tạo nhanh các plugin. Sử dụng câu lệnh php artisan cms:plugin:create <tên plugin> để tạo nhanh plugin có sẵn CRUD.

Video hướng dẫn:

Cấu trúc của 1 plugin

 

6. Thông tin về Botble team

Team hiện tại gồm 5 thành viên.

Cám ơn các bạn đã quan tâm và hi vọng CMS bên mình sớm được sử dụng rộng rãi trong cộng đồng lập trình viên Việt Nam và trên toàn thế giới.

Mọi thắc mắc cần giải đáp về Botble CMS, các bạn vui lòng để lại bình luận bên dưới nhé.

Mình là 1 developer mới vào nghề, chưa có nhiều kinh nghiệm với lập trình web nhưng luôn muốn chia sẻ những hiểu biết của mình với các lập trình viên khác. Khá là gà và lười viết blog, chỉ ham code và chuyên Laravel.