24/05/2018, 17:36

TomatoCMS

là một hệ quản trị nội dung ấn tượng và mạnh mẽ. Nó hoàn toàn miễn phí và là mã nguồn mở tuân theo các điều khoản GNU GPL. Một website = { tập hợp các widget } coi mỗi trang web được tạo thành từ nhiều thành phần khác nhau, các thành phần này ...

là một hệ quản trị nội dung ấn tượng và mạnh mẽ. Nó hoàn toàn miễn phí và là mã nguồn mở tuân theo các điều khoản GNU GPL.

Một website = { tập hợp các widget }

coi mỗi trang web được tạo thành từ nhiều thành phần khác nhau, các thành phần này được gọi chung là widget. Theo đó, bạn có thể dễ dàng tạo và tùy chỉnh bố cục của trang web thông qua một cộng cụ trực quan gọi là Layout Editor. Layout Editor không chỉ cho phép bạn kéo, thả mà còn cấu hình cho các widget và xem trước bố cục trang web. Bản thân đã tích hợp rất nhiều widget và các nhà phát triển cũng có thể dễ dàng tạo ra các widget mới.

Hơn nữa, hỗ trợ kiến trúc module. Mỗi module có một tập quyền riêng, tính năng và file ngôn ngữ riêng. Tính độc lập này của các module giúp cho việc phát triển module được dễ dàng hơn.

Nền tảng công nghệ

được xây dựng dựa trên các công nghệ mới nhất về xây dựng website như Zend Framework, jQuery và 960grid.

Zend Framework

Đây là một trong các framework về PHP uy tín nhất. Nó đảm bảo cho tuân theo kiến trúc Model-View-Controller, nguyên tắc thiết kế hướng đối tượng.

jQuery

Có thể nói rằng jQuery là thư viện javascript phổ biến nhất hiện nay. Đúng như khẩu hiệu của nó "Viết ít hơn, làm nhiều hơn", nên việc phát triển scripts trong trở nên dễ dàng hơn bao giờ hết. Ngoài ra, bạn có thể sử dụng các plugin sẵn có đã được cung cấp bởi jQuery và các nhà phát triển khác.

960grid

sử dụng 960grid để bố trí các trang web cho cả phần front-end và quản trị. Do đó rất thuận tiện cho việc tùy chỉnh bố cục. Bạn sẽ thấy dễ dàng hơn khi chia trang web thành hai cột, ba cột và bốn cột...

Công cụ chỉnh sửa bố cục

coi một trang web được tạo bởi nhiều widget. Công cụ Layout Editor cho phép bạn quản lý bố cục của trang một cách dễ dàng.

Cá nhân hóa với widget iTomato

Thêm widget này vào trang web của, cho phép người sử dụng kéo thả các widget ở phần front-end. Bản cập nhật sẽ được lưu trên máy khách và lần tiếp theo truy cập vào trang web người sử dụng vẫn có thể thấy cách bố trí mà họ đã thay đổi trước đó.

Kéo, thả, điều chỉnh kích thước

Bạn có thể tạo ra trang web từ nhiều container lồng nhau. Có thể kéo, thả để thay đổi thứ tự của chúng trên trang, thay đổi độ rộng của chúng. Layout Editor cho phép bạn kéo và thả các widget vào cùng một container hoặc giữa các container. Và bạn có thể loại bỏ bất kỳ widget nào khỏi container khi bạn không muốn hiển thị chúng trên trang nữa. Khi loại bỏ một container khỏi trang thì tất cả các widget thuộc nó cũng sẽ được loại bỏ.

Cấu hình, xem thử trước

Bạn có thể thiết lập tham số cho mỗi widget trên từng trang. Sau khi thiết lập, bạn có thể xem trước widget và quay lại chế độ cấu hình. Công cụ Layout Editor cung cấp khả năng xem trước toàn bộ trang.

Bảo mật

Với hệ thống phân quyền được xây dựng trên kiến trúc ACL, bạn có thể thiết lập quyền cho nhóm hoặc từng người sử dụng trên từng module riêng biệt.

Khóa IPs

Với plugin IpLock, bạn có thể ngăn chặn sự truy cập từ các địa chỉ IP đã được cấu hình. Plugin này có thể được kích hoạt hoặc hủy kích hoạt trong phần quản trị.

Ngăn chặn việc truy cập vào phần quản trị

giúp bạn dễ dàng ngăn chặn sự truy cập trái phép của người sử dụng vào phần quản trị từ một số địa chỉ IP mà bạn không muốn.

Kiến trúc module hóa

hỗ trợ kiến trúc module. Mỗi module có một tập quyền riêng, tính năng và file ngôn ngữ riêng. Tính độc lập này của các module giúp cho việc phát triển module được dễ dàng hơn.

Tuy nhiên, trong việc xây dựng các module, bạn sẽ nhận ra một số module có sự phụ thuộc vào những cái khác.

Một số module:

  • module comment cho phép quản lý bình luận từ các đối tượng khác nhau bao gồm bài viết (từ module tin tức), ảnh (từ module multimedia),...
  • module tag cung cấp khả năng gắn tag vào bài viết, hình ảnh và clip
  • module upload cho phép bạn upload ảnh không chỉ cho module tin tức mà còn các module như quảng cáo, multimedia,...

Tích hợp sẵn nhiều module

cung cấp rất nhiều module phục vụ cho các yêu cầu phổ biến nhất của website. Xem các module được tích hợp sẵn để biết thêm chi tiết.

Plugin, Hook

hỗ trợ kiến trúc plugin, hook.

Trong phần quản trị, bạn có thể cài đặt hoặc gỡ bỏ các plugin, hook. Bên cạnh đó còn cho phép upload một plugin hoặc hook từ máy tính lên site của bạn.

Có hai cấp độ cho plugin, hook:

  • cấp độ global: Loại plugin, hook này không phụ thuộc vào bất kỳ module nào. Nó có thể được sử dụng để áp dụng cho nhiều đối tượng, mỗi đối tượng có thể áp dụng nhiều hook khác nhau.
  • cấp độ module: Plugin, hook thuộc từng module

Tích hợp sẵn nhiều Plugin, Hook

Bạn có thể nhìn thấy danh sách đầy đủ các plugin, hook được tích hợp sẵn trong ở phần quản trị. Dưới đây là một trong số chúng:

ImageLightbox: Hook này tạo ra một bản trình chiếu tất cả các ảnh trong bài viết

Redirector: Plugin này cung cấp khả năng chuyển hướng

MobileAgent: Plugin này hỗ trợ duyệt web bằng các thiết bị điện thoại phổ biến như iPhone, Smartphone,...

Template, Skin

cũng hỗ trợ template và skin. Mỗi site có thể có nhiều template và mỗi template có thể được sử dụng với nhiều skin. Bạn có thể thay template/skin trong phần quản trị một cách dễ dàng.

Trong gói mặc định có 2 template:

  • default: Template này phù hợp với hầu hết người dùng
  • blog: Template này được xây dụng cho các blogger. Vì vậy, bạn không cần cài blog khác để chạy blog của bạn.

Tùy biến Template, Skin

Với sức mạnh của Layout Editor, bạn dễ dàng thay đổi bố cục của trang từ các tempale tích hợp sẵn. Trong phần quản trị, bạn có thể thay đổi skin bằng cách cập nhật các file CSS liên quan.

Ngoài ra, cho phép bạn thay đổi các thành phần giao diện cơ bản như logo, biểu tượng favicon

Đối với những người phát triển

Dựa trên kiến trúc , những người phát triển frontend có thể tùy chỉnh được các template, skin mà không cần viết lại mã PHP, chỉ cập nhật mã HTML và CSS.

Hỗ trợ đa ngôn ngữ

hỗ trợ đa ngôn ngữ trong cả phần front-end và quản trị.

Các file ngôn ngữ trong các module và widget được để tách rời nhau.

Biên soạn Ngôn ngữ

Trong phần quản trị của , bạn có thể tạo file ngôn ngữ mới hoặc chỉnh file sẵn có.

File ngôn ngữ là một file văn bản đơn giản (theo định dạng ini), vì thế, nếu muốn bạn có thể cập nhật nó bằng tay.

Hỗ trợ chuyển ngôn ngữ sang dạng RTL

hỗ trợ RTL (Right-To-Left) cho các ngôn ngữ như Ả rập, Iran,...

SEO

URL thân thiện

hỗ trợ SEO tốt hơn với URL mặc định rất thân thiện.

Người phát triển có thể tùy chỉnh URL cho thân thiện hơn.

Thẻ Meta

Bạn có thể thiết lập các thẻ meta keyword, meta description trong phần quản trị. Các thẻ này cũng được thiết lập tự động dựa trên trang mà người sử dụng đang xem. Ví dụ, khi người dùng xem chi tiết của bài viết, thẻ meta keyword, meta description sẽ được lấy từ tiêu đề và mô tả của bài viết hiện tại.

Tích hợp RSS

RSS được tích hợp sẵn trong module tin tức. Nếu người sử dụng xem chi tiết một bài viết hoặc một chuyên mục bằng trình duyệt Firefox, họ sẽ nhìn thấy icon feed trên thanh địa chỉ.

Hiệu năng cao

Tối ưu hóa cơ sở dữ liệu

Lược đồ cơ sở dữ liệu của đã được tối ưu để giúp cho site của bạn chạy nhanh hơn.

Ngoài ra, hỗ trợ mở rộng kết nối cơ sở dữ liệu, tách biệt kết nối đến máy chủ master và slave.

Quản lý Cache

hỗ trợ việc cache các file. Trong phần quản trị, bạn có thể xem danh sách các dữ liệu cache được nhóm lại theo các thẻ.

Phần quản lý cache cho phép bạn gỡ bỏ tất cả các ngày được cache thuộc về tag hoặc xóa hết tất cả các cache.

Nếu bạn sử dụng MemCache, chỉ cho phép bạn xóa cache trong giới hạn của hệ thống MemCache (ví dụ như không có khả năng tag cho cache).

Widget Cache

Layout Editor cho phép bạn cache bất kỳ widget nào trên trang trong thời gian sống. Ngoài ra, bạn có thể thiết lập việc tải bất kỳ widget nào bằng Ajax để cải thiện tốc độ tải.

ad - Quản lý banner

Zone

Sử dụng Layout Editor, bạn có thể đặt banner tại bất kỳ vị trí nào bạn muốn. Mỗi một khu vực (zone) có thể chứa nhiều banner. Ngoài ra, bạn có thể hiển thị cùng một bannner trên nhiều trang.

Hỗ trợ các định dạng khác nhau

hỗ trợ banner trong định dạng ảnh, flash (*.swf, *.flv) và nội dung bằng mã HTML. Do đó, bạn có thể sử dụng mã Google Adsense trong mã HTML của banner.

category - Phân loại tin tức, ảnh

Hỗ trợ phân cấp danh mục (category)

hỗ trợ phân cấp danh mục không giới hạn số cấp. Cơ sở dữ liệu cũng đã được tối ưu hóa nên hệ thống danh mục có cấp cao không làm ảnh hưởng đến hiệu suất của site.

comment - Quản lý bình luận

Tất cả các bình luận sẽ được hiển thị nếu nó đã được kích hoạt.

Hỗ trợ các bình luận lồng nhau

hỗ trợ bình luận lồng nhau với số cấp không giới hạn. Bạn có thể xem danh sách các bình luận trong cả front-end và quản trị.

Avatar

Hệ thống bình luận sẽ hiển thị avatar của người bình luận theo mặc định. Avatar được lấy từ Gravatar.

Định dạng các bình luận

Theo kiến trúc hook, bạn có thể áp dụng các hook khác nhau để định dạng nội dung của bình luận. Một số hook đã được chúng tôi xây dựng sẵn như:

  • EmotionIcon: Thay thế các ký tự đặc biệt như :), :D,... bằng các biểu tượng cảm xúc
  • SyntaxHighlighter: Hiển thị cú pháp của ngôn ngữ lập trình được xác định trước (pre-defined). Điều này rất hữu ích cho những người phát triển blog.
  • BadWordsCensor: Thay thế các từ xấu bằng chuỗi ***

menu - Quản lý menu

Menu kéo thả đơn giản

Menu chỉ sử dụng các thẻ ul và li, do đó bạn có thể tùy chỉnh style của menu một cách dễ dàng.

Xây dựng menu

Trong phần quản trị, bạn có thể thêm hoặc xoá các mục khỏi menu. Ngoài ra, bạn có thể kéo và thả các mục vào vị trí mong muốn.

multimedia - Quản lý ảnh, clip

Upload

Bạn có thể tải hình ảnh và clip. Sử dụng các helper từ module upload, bạn có thể tải lên nhiều ảnh cùng một lúc. Các ảnh thumbnail sẽ được tạo tự động.

Tập ảnh

Bạn có thể nhóm ảnh, clip thành tập ảnh, clip. Mỗi tập hợp có thể bao gồm nhiều ảnh và một ảnh có thể thuộc nhiều tập khác nhau. Bạn có thể cập nhật tiêu đề, mô tả cho hình ảnh, clip hoặc tập ảnh.

Xem ảnh

Trong phần front-end, bạn có thể xem tất cả các ảnh trong cùng một tập hợp hoặc xem slide của những bức ảnh mới được upload.

news - Quản lý bài viết

Trình soạn thảo

sử dụng TinyMCE. Đó là trình soạn thảo WYSIWYG (What You See Is What You Get), rất dễ sử dụng.

Multimedia

Trong khi thêm hoặc cập nhật các bài viết, bạn có thể upload nhiều ảnh cùng một lúc mà không cần load lại trang. Bạn có thể chèn ảnh thumbnail vào nội dung bài viết và chọn một trong các ảnh đã upload làm ảnh đại diện cho bài viết. Ngoài ra, bạn có thể chèn clip vào nội dung bài viết.

Kích hoạt

Cũng giống như các module khác, một bài viết phải được kích hoạt trước khi người sử dụng có thể xem. Bạn có thể lưu bài viết theo kiểu bản thảo và public nó sau.

Chuyên mục

Bạn có thể chọn nhiều chuyên mục cho một bài viết. Nó cũng cho phép bạn thiết lập bài viết là một bài sticky của chuyên mục được lựa chọn.

Tích hợp RSS

tự động thêm liên kết RSS tới phần đầu của site khi người dùng mở trang chi tiết bài viết hoặc trang chi tiết chuyên mục.

poll - Quản lý thăm dò ý kiến

Bạn có thể tạo hộp thăm dò ý kiến với nhiều loại câu hỏi, câu hỏi chọn đúng hoặc câu hỏi đa lựa chọn.

Người dùng có thể bỏ phiếu và xem kết quả trên trang mà không cần tải lại trang hoặc mở cửa sổ popup mới.

tag - Khả năng tạo tag

cho phép bạn đánh tag cho bài viết, ảnh, clip,...

Trong khi đánh tag, bạn không cần phải nhớ chính xác tag. Hệ thống sẽ gợi ý danh sách các tag dựa vào các ký tự bạn đang nhập.

Có một widget là TagCloud lấy ra các tag thao thứ tự ngẫu nhiên. Click vào mỗi tag sẽ nhảy tới trang chứa danh sách tất cả các mục được đánh tag bởi tag đã chọn.

Quản lý Tag

Trong phần quản trị, bạn có thể tìm kiếm, thêm hoặc xóa tag.

upload - Upload ảnh, clip

Hỗ trợ các định dạng khác nhau

Module này cho phép bạn upload ảnh cho các module khác như quảng cáo, tin tức, multimedia.

Nó hỗ trợ các định dạng ảnh phổ biến gồm png, jpg, jpeg và png.

Upload nhiều ảnh

Bạn có thể upload nhiều ảnh cùng một lúc mà không cần phải tải lại trang. Số lượng ảnh mà bạn có thể upload cùng một lúc phụ thuộc vào kích thước upload tối đa của server bạn có.

Tự động tạo ảnh thumbnail

Việc upload các ảnh thumbnail với kích cỡ khác nhau được làm tự động. Bạn có thể cấu hình kích thước ảnh thumbnail trong phần quản trị. hỗ trợ cả thư viện GD và ImageMagick (*) trong việc xử lý ảnh.

(*) Nếu bạn muốn sử dụng ImageMagick, máy chủ của bạn phải cài đặt thư viện ImageMagick và phần mở rộng imagick.

mail - Quản lý mail

Được viết dựa trên thư viện Zend_Mail của Zend Framework cho phép gửi mail đến các user đã đăng kí hoặc gửi đến một nhóm user.

Module này hỗ trợ gửi mail qua hàm mail() của PHP hoặc SMTP server, và hỗ trợ các giao thức bảo mật mã hóa thông tin như SSL hay TLS.

có thể được cài đặt trên hệ thống web server hỗ trợ php. Bạn có thể download tại địa chỉ http://www.tomatocms.com/vi/download.html

Cài đặt một cách dễ dàng bằng install wizard với 3 bước.

Bây giờ bạn đã có 1 website, hãy truy cập vào trang quản trị để cấu hình cho website của bạn theo cách bạn muốn.

  • http://en.wikipedia.org/wiki/List_of_web_application_frameworks
  • http://www.tomatocms.com/
  • http://docs.tomatocms.com/index.php/Main_Page
  • http://forum.tomatocms.com/index.php
  • http://demo.tomatocms.com/
0