Học Drupal 7 - Ngày thứ nhất

Trong ngày đầu tiên này, bạn sẽ hiểu khái quát, căn bản về hệ Drupal CMS. Bạn sẽ có khái niệm về users, content, taxonomy, menu, block, và page. Các bước để cài đặt theme và mô-đun mới. Hướng dẫn sử dụng Drupal admin và một số mô-đun tiện ích quan trọng cho website.

Tổng quan Drupal 7 CMS

Drupal 7 CMS là hệ quản trị nội dung rất mạnh được phát hành chính thức khoảng năm 2010. Khác với những phiên bản trước đó vốn bị phụ thuộc rất nhiều vào những mô-đun viết bởi cộng đồng Drupal (contributed modules), Drupal 7 đã tích hợp những mô-đun này (ví dụ: CCK, Cron.v.v.) vào trong phần nhân để trở thành một khối thống nhất mạnh mẽ. Drupal 7 cũng được biết tới ở khả năng hỗ trợ mạnh mẽ JQuery, Responsive Web, Ajax, Web services, đã biến Drupal 7 trở thành một CMS của thời đại web 2.0 và đã vượt qua Joomla, Wordpress để trở thành CMS mạnh mẽ hàng đầu thế giới.

Phần cốt lỗi của Drupal CMS chính là khái niệm node (tiếng Việt nghĩa là nút), theo đó, toàn bộ hệ thống là một mạng lưới thông tin được liên kết với nhau thông qua những điểm nút này. Những điểm nút này có sự liên kết với nhau theo từng nhóm (taxonomy, content type), được tạo bởi user để chứa những thông tin cần thiết trong hệ thống. Theo mặc định, node số 0 là trang chủ của website. Bạn có thể tiếp tục tạo node số 1 chứa thông tin Giới thiệu về website và cứ tiếp tục như vậy, ta sẽ có một tập hợp những node chứa thông tin để người dùng vào xem.

Khái niệm một số mô-đun chính của Drupal

Như phần trước đã trình bày, Drupal nhóm các chức năng vào các mô-đun để phụ trách từng phần việc riêng. Ví dụ mô-đun Menu để phụ trách các đường dẫn (ví dụ: /gioi-thieu), mô-đun Node phụ trách các kiểu nội dung (content type) và tạo các node theo từng kiểu đã tạo.v.v. Sau đây, chúng tôi sẽ giới thiệu thêm một số mô-đun chính của Drupal và giải thích khái niệm để bạn có thể nắm vững cấu trúc và cơ chế hoạt động chung.

Menu (Path)

Menu là hệ thống tạo và quản lý những đường dẫn (path) trong toàn bộ hệ thống Drupal. Như bạn đã biết, hệ thống Drupal là một mạng lưới các nút (node) thông tin, để truy cập được vào các nút này bạn cần thiết phải có đường dẫn, đường dẫn được tạo ra bởi chính Menu. Đường dẫn (path) có thể được tạo từ trong CMS hoặc từ trong mô-đun sử dụng hook_menu (Hệ thống hook sẽ được đề cập ở những phần sau).

Node (Content)

Node là mô-đun quan trọng nhất của Drupal và là nơi cung cấp thông tin tới người dùng. Thiếu node, website sẽ không có thông tin và trở nên vô giá trị với người dùng. Node được phân loại ra thành nhiều kiểu node khác nhau. Ví dụ ta có node kiểu Article (bài viết tin tức), hoặc kiểu Product (thông tin sản phẩm).v.v. Kiểu node (content type) về cơ bản chính là một dạng cấu trúc dữ liệu để định nghĩa những kiểu dữ liệu nào sẽ có thể được đưa vào trong node. Ví dụ nếu content type tên Product có trường ảnh (image field) thì node thuộc kiểu Product sẽ có thể chứa và hiện file ảnh.

Block

Block, như tên gọi, là một kiểu dữ liệu đặc biệt chỉ dùng để lưu trữ những đoạn thông tin ngắn, video hoặc hình ảnh để đặt vào một số vị trí thích hợp trên website. Block khác với node ở chỗ, block chỉ có một trường body duy nhất để đưa dữ liệu vào trong khi node có thể bao gồm rất nhiều trường dữ liệu riêng.

Taxonomy

Taxonomy là tên gọi khác của Category, tiếng Việt nghĩa là "phân loại". Mục đích của mô-đun này là tạo ra danh sách những tên riêng, ví dụ Tên quốc gia, tên loại sản phẩm (máy tính, bàn ghế.v.v.), loại hoa quả (táo, dưa chuột.v.v.). Những phân loại này sau đó sẽ được dùng trở lại để định nghĩa cho các trường dữ liệu trong kiểu nội dung. Ví dụ kiểu nội dung User profile sẽ có trường Quốc gia được liên kết tới Taxonomy Country. Trường Giới tính sẽ liên kết tới Taxonomy Gender. Taxonomy đặc biệt quan trọng trong việc phân loại nội dung phục vụ cho việc tìm kiếm và lọc thông tin trong website khi cần.

Page

Page, tiếng Việt nghĩa là "trang". Nói cách khác, Page chính là trang web, là nơi hiển thị thông tin được cung cấp bởi node, block, và taxonomy tới người dùng. Khi nói tới thiết kế đồ hoạ trang web chính là nói tới thiết kế cho Page. Sau khi có thiết kế đồ hoạ, nhà phát triển web sẽ tiến hành chuyển đổi thành mã HTML để tạo thành các page template. Trong Drupal, page, node, block đều có thể được template theo các lớp khác nhau để tạo nên một tổng thể đẹp mắt hiện thông tin tới người dùng. Chi tiết về hệ thống template sẽ được chúng tôi đề cập thêm ở những phần sau.

Các bước cài đặt Drupal CMS

Drupal CMS là phần mềm web mã nguồn mở chạy trong môi trường LAMP (Linux, Apache, MySQL, PHP), WAMP (Windows, Apache, MySQL, PHP), hoặc MAMP (MacOS, Apache, MySQL PHP). Trên thực tế, Drupal có thể chạy trên nhiều loại web server như IIS và sử dụng cơ sở dữ liệu MS SQL.v.v. Tuy nhiên, theo kinh nghiệm nhiều năm phát triển web Drupal, chúng tôi nhận thấy Drupal thường chạy tối ưu nhất là trong môi trường LAMP.

Để cài đặt Drupal vào máy tính của mình, trước hết bạn phải tạo ra môi trường. Nếu bạn đang dùng Windows, bạn có thể sử dụng phần mềm WAMP hoặc XAMP để cài đặt tự động toàn bộ các phần mềm Apache, MySQL và PHP phiên bản ổn định nhất vào máy. Sau khi cài đặt thành công, bạn bắt đầu có thể mở trình duyệt để truy cập vào website mặc định có địa chỉ tại http://localhost.

Để tiếp tục cài đặt Drupal CMS vào website có địa chỉ localhost bên trên, bạn tiến hành các bước như sau:

  • Download và unzip phiên bản Drupal 7 mới nhất tại địa chỉ https://www.drupal.org/project/drupal
  • Copy toàn bộ thư mục Drupal vào thư mục gốc của localhost, thường nằm tại C:\wamp\www\
  • Đổi tên thư mục thành tên dự án web của bạn, ví dụ "webdrupal". Website của bạn lúc này sẽ có dạng http://localhost/webdrupal
  • Mở tiếp sâu vào trong thư mục "webdrupal", truy cập vào C:\wamp\www\webdrupal\sites\default
  • Tại thư mục này, tạo thư mục "files", copy file default.settings.php thành settings.php. Đảm bảo file mới này có thể ghi được (bỏ chế độ "read only" nếu có).
  • Tới đây, bạn đã hoàn thành khâu chuẩn bị cho files cài đặt. Tiếp tục, bạn cần chuẩn bị một database để Drupal có thể ghi dữ liệu vào.
  • Để tạo cơ sở dữ liệu, bạn có thể sử dụng PhpMyAdmin hoặc truy cập vào MySQL server từ cửa sổ Dos.
  • Sau khi đã tạo thành công database, giờ là lúc bạn có thể bắt đầu cài đặt Drupal CMS, mở trình duyệt rồi gõ đoạn địa chỉ website của bạn vào http://localhost/webdrupal
  • Drupal sẽ tự động kiểm tra hệ thống của bạn xem có phù hợp với các yêu cầu tối thiểu hay không và hiện báo lỗi nếu hệ thống của bạn không đạt yêu cầu. Trong trường hợp đạt yêu cầu, Drupal sẽ tiếp tục xử lý tới trang để bạn chọn ngôn ngữ mặc định cho CMS, tại thời điểm này, bạn chỉ có một lựa chọn là tiếng Anh. Nhấn chuột và tiếp tục xử lý.
  • Trang kế tiếp, Drupal sẽ hiện lựa chọn cho phép bạn cài đặt bản Minimum hoặc Standard. Bản "Standard" sẽ kích hoạt và tạo mặc định một số mô-đun và kiểu dữ liệu thường dùng. Bạn nên chọn "Standard" để tiếp tục.
  • Trang kế tiếp, Drupal sẽ hỏi bạn nhập thông tin cho database, bạn nhập tên database bạn vừa tạo ở phần trên. Phần user và password bạn có thể tạm sử dụng user root đã có sẵn khi cài đặt WAMP hoặc XAMP. Lưu ý, trong thực tế bạn không nên dùng user root mà nên tạo một user riêng cho database.

Sau khi nhập thông tin database và nhấn nút tiếp tục, Drupal sẽ bắt đầu quy trình xử lý và cài đặt. Tuỳ theo cấu hình mạnh yếu máy tính của bạn mà thời gian chờ sẽ lâu hoặc nhanh. Nếu không có lỗi nào bất thường, website Drupal của bạn sẽ được tạo thành công và bạn sẽ được chuyển thẳng tới trang chủ mặc định của website mới vừa tạo.

Các bước cài đặt Drupal theme và mô-đun

Để dễ dàng cho bạn trong việc làm chủ Drupal, chúng tôi xin cung cấp tới bạn cách để chuyển đổi toàn bộ hệ thống từ tiếng Anh sang tiếng Việt chỉ vài bước nhỏ:

  • Login vào website sử dụng username "admin" (bỏ qua bước này nếu bạn đã login rồi)
  • Kế tiếp, truy cập vào đường dẫn sau http://localhost/webdrupal/admin/config/regional/language
  • Tại trang này, nhấn vào liên kết "Add language", rồi chọn tiếng Việt từ trong hộp select
  • Nhấn OK để chọn và quay trở lại trang ban đầu
  • Tại trang ban đầu có địa chỉ http://localhost/webdrupal/admin/config/regional/language, chọn ngôn ngữ mặc định (default language) là tiếng Việt rồi nhấn "Save"
  • Bạn sẽ thấy Drupal bắt đầu xử lý và chuyển đổi toàn bộ giao diện tiếng Anh mặc định của bạn sang tiếng Việt.

Như vậy, bạn đã kích hoạt thành công tiếng Việt cho bản Drupal của bạn. Những hướng dẫn sau đây của chúng tôi sẽ dựa theo phiên bản tiếng Việt này.

Cài đặt, lựa chọn Drupal theme mặc định

Một trong những đặc tính thú vị và quan trọng nhất của CMS là bạn có thể thay đổi giao diện cho website bất kỳ lúc nào chỉ sau vài nhấp chuột. Những giao diện này, thuật ngữ gọi là theme, hay có thể hiểu là những bộ quần áo. Mỗi bộ quần áo đều riêng biệt hoặc có thể kế thừa từ những bộ khác, được thiết kế theo những phong cách và màu sắc khác nhau phù hợp với từng chủ đề mà bạn mong muốn cho website của mình.

Drupal có 3 nguồn chính để bạn có thể lấy "quần áo" về mặc cho website. Nguồn thứ nhất có sẵn, mặc định và nằm trong core của Drupal. Bạn có thể xem ngay danh sách những theme có sẵn của Drupal tại đây http://localhost/webdrupal/admin/appearance. Nguồn thứ hai được cung cấp miễn phí bởi cộng đồng (contributed themes) và bạn có thể xem tại đây https://www.drupal.org/project/project_theme. Tuy nhiên, đa số những theme này thường khá đơn giản và thường chỉ dùng cho khu vực admin. Khi bạn muốn tạo một website cho khách hàng, đa phần, bạn sẽ phải sử dụng nguồn thứ ba, đó là tự tạo theme cho website của mình. Cách tự tạo theme chúng tôi sẽ đề cập chi tiết ở ngày thứ 2 của chương trình học này.

Để cài đặt một theme mới, hoặc kích hoạt một theme làm mặc định, bạn có thể làm các bước như sau:

  • Login là admin rồi truy cập vào http://localhost/webdrupal/admin/appearance (bạn cũng có thể vào nhanh bằng menu "Hình thức" có trên toolbar đầu trang)
  • Trong trang này, nhấn vào "Cài giao diện mới" để cài một theme có sẵn lấy từ nguồn thứ hai nói trên
  • Sau khi cài đặt, theme sẽ xuất hiện trong danh sách "Các giao diện bị tắt". Bạn có thể nhấn vào "Bật" hoặc "Bật và đặt làm mặc định" để kích hoạt theme sử dụng cho các trang bên ngoài (front-end)
  • Nếu bạn muốn sử dụng một theme cho khu vực admin, phần back-end, bạn kéo xuống phía dưới nơi có mục "Giao diện quản trị" rồi chọn một theme từ trong danh sách, ví dụ "Seven".
  • Nhấn "Lưu cấu hình" để kích hoạt ngay lập tức.

Cài đặt và kích hoạt Drupal modules

Nếu theme là quần áo, giao diện lung linh đẹp mặt bên ngoài thì mô-đun là xương sống, là sức khoẻ để thực hiện chức năng bên trong. Tương tự như theme, mô-đun trong Drupal cũng có thể được lấy về / sử dụng từ 3 nguồn chính; Nguồn có sẵn bởi Drupal, gọi là Drupal core. Nguồn từ cộng đồng (contributed modules) và nguồn do bản thân bạn tự tạo. Kỹ năng tự tạo mô-đun là rất quan trọng và chúng tôi sẽ đề cập chi tiết tại Ngày thứ 3 của chương trình học này.

Để cài đặt và kích hoạt mô-đun, bạn có thể làm theo các bước đơn giản sau:

  • Login là admin rồi truy cập vào đường dẫn http://localhost/webdrupal/admin/modules (bạn cũng có thể vào nhanh bằng menu "Mô-đun" có trên thanh toolbar đầu trang.
  • Trong trang này, nhấn "Cài đặt mô-đun mới" nếu bạn muốn cài đặt mô-đun từ nguồn thứ 2. Bạn có thể tìm thấy rất nhiều contributed modules của Drupal tại đây https://www.drupal.org/project/project_module. Bạn hãy thử cài mô-đun Views (https://www.drupal.org/project/views) theo các bước sau:
  • Tại trang project của mô-đun Views, kéo xuống dưới nhấn chuột trên đường link "tar.gz" để download file nén này về máy
  • Quay trở lại trang "Cài đặt mô-đun mới" của bạn, upload file này lên website sử dụng hộp upload "Tải một tệp nén chứa mô-đun hay giao diện lên" rồi nhấn "Cài đặt"
  • Drupal sẽ bắt đầu thực hiện xử lý và thông báo tới bạn mô-đun đã được cài đặt thành công (hoặc báo lỗi nếu có)
  • Mô-đun sau khi được cài đặt sẽ có trạng thái là "chưa kích hoạt". Bạn cần kích hoạt để mô-đun có thể phát huy tác dụng trên website của bạn như yêu cầu.
  • Để kích hoạt một mô-đun, từ trong danh sách http://localhost/webdrupal/admin/modules, bạn tìm tới mô-đun, ví dụ Views, rồi check vào hộp checkbox nằm bên trái của tên mô-đun rồi nhấn "Lưu cấu hình". Sau bước này, Drupal sẽ thực hiện kích hoạt mô-đun và thông báo tới bạn.

Hướng dẫn sử dụng Drupal admin và một số mô-đun tiện ích quan trọng

 (Đang tiếp tục cập nhật)