Hướng dẫn SEO, thiết kế webs

Khái niệm cơ bản trong Drupal

What is Drupal
     Drupal là một webapp content management, bạn có thể dễ dãng mở rộng. Chú ý là có 2 cách là override lại hoặc thêm module mới. Tuy nhiên không thể mở rộng bằng cách sửa core của nó.
    Drupal có thể được mở rộng để sử dụng cho mọi thứ: từ một website cá nhân, đến e-commerce hay một website tin tức, thậm chí là cả elearning.
Teachnology Stack
   Ngay từ đầu Drupal đã được định hướng thiết kế dành cho các hosting vừa phải và hỗ trợ cơ chế phân bố qua các site khác nhau.
CORE


   Tất cả cơ chế của Drupal quản lý theo module, và sử dụng một khái niệm là "inversion control" (quản lý đảo ngược) (trong design pattern). Trong này còn đề cập đến một khái niệm gọi là "hook".
HOOKS
   Hook còn được gọi là callback, tuy nhiên nó không thực sự là callback. Nhờ cơ chế hook này mà nó cho phép một module có thể có thể biết được điều gì đang xảy ra ở các module còn lại.
   Để diễn giải cho việc này , lấy ví dụ việc user đăng nhập vào Drupal website, khi này nó sẽ sinh ra một "hook" gọi là "user hook". Và điểu này theo quy định, các function đặt tên thao đúng quy định "tenmodule"_"tenhook" sẽ được gọi, tức là  các hàm comment_user() ( module comment), locale_user(module locale)... sẽ được gọi
   Do đó nếu bạn việt thêm một module gọi là spammy.module  và trong module này có một function gọi làspammy_user() để gởi email đến user thì cũng có nghĩa là function này cũng được gọi, và vì vậy mỗi khi đăng nhập thì user cũng nhận được email thông báo.
THEMES
    Theme có nhiệm vụ chính là tạo ra các trang HTML và gởi về cho trình duyệt. Drupal có thể sử dụng một loạt các giải pháp template phổ biến hiện nay như Smarty, PHPTAL, và PHPTemplate.
NODE
   Các kiểu content (kiểu nội dung) trong Drupal đều được dẫn xuất từ một kiểu cơ bản là node. Cho dù bạn phát triển một ứng dụng blog, project task... thì về cơ bản chúng đều được lưu dưới dạng là node. Người phát triển module có thể phát triển thêm một số tính năng mới như rating, comment, file attachment... mà không cần phải để ý kiểu của node là kiểu blog hay comment.... Người quản lý site có thể kết hợp và trộn lẫn các content type, ví dụ bạn có thể kết hợp cho phép comment vào blog nhưng không cho phép nhận file đi kèm.
   Node còn chứa một tập các tập các thuộc tính hành vi cơ bản (behavioral properties) mà các loại content type khác có thể kế thừa.
Block
    Block được sử dụng để hiển thị thông tin (thông tin được customized tương ứng với mỗi user)
Cấu trúc thư mục
   Một số lưu ý về cấu trúc thư mục của Drupal như sau:
Files: thường thì thư mục này sẽ không đi kèm với Drupal, tuy nhiên thư mục này được sử dụng để chứa các file như logo, các media resource được upload lên... và cũng do vậy thư mục này yêu cầu phải được read và write permission.
Includes: chứa các thư viện của Drupal
Misc: chứa javascript và các file khác ví dụ như các icon, hình ảnh cho quá trình cài đặt Drupal
Modules: chứa các module chính của Drupal (core modules), mỗi module có thư mục riêng, và tốt nhất là đừng nên đụng gì vào thư mục này. Các module phát triển thêm sẽ được lưu vào thư mục riêng, đó là thư mục "site".
Profiles: thư mục này chứa các profile cài đặt khác nhau, tức là bạn có thể cài nhiều Drupal trên một site và tùy thời điểm mà bạn muốn dùng profile nào cho site của mình
Script: chứa các script file, thường là các shell và Perl script, nhiệm vụ chính là các script kiểm tra syntax, clean up code và trường hợp đặc biệt là "cron"
Site: thường chứa các thay đổi của bạn đối với Drupal như thay đổi setting hay các module, themes... Thường khi bạn thêm một module do bạn viết nó sẽ được lưu vào thư mục site/all/modules. Trong thư mục này có một thư mục con là "default" thường chứa các setting mặc định cho site của bạn (ở file setting.php). Thường khi triển khai thư mục con này sẽ được copy và đổi tên thành site/www.yoursite.com/setting.php


+ Themes: thường chứa các template engine (ví dụ như smarty) và theme mặc định của Drupal

No comments:

Post a Comment