Mô phỏng Module, plugin trên giao diện mặc địnhc ủa Joomla 1.x

Những lý do tôi không thích Joomla !

Tôi có một thời gian làm quen với ngôn ngữ lập trình PHP và có sử dụng Joomla, tuy nhiên chỉ sau một khoảng thời gian ngắn ngủi tôi cũng đã từ bỏ ngay mã nguồn này, và đây là vài lý do tôi kịp thống kê:

Nhằng nhịt Plugin, Module …

Mô phỏng Module, plugin trên giao diện mặc địnhc ủa Joomla 1.x
Mô phỏng Module, plugin trên giao diện mặc địnhc ủa Joomla 1.x

Joomla chia các thành phần mở rộng được của mình là Plugin, Module và Extention, trong khi ta có thể hiểu như sau:

  1. Plugin can thiệp vào hệ thống mở rộng nhưng không hiển thị ra bên ngoài, lọc tựa đề là một plugin chẳng hạn, hoặc có hiển thị ra ngoài nhưng chức năng rất nhỏ và đơn giản như thêm chữ readmore chẳng hạn !
  2. Module tạo ra các chức năng mới trong Joomla, có hiển thị ra bên ngoài FrontEnd, thường là các block để hiển thị ra ngoài giao diện !
  3. Component là thành phần can thiệp và hiển thị nội dung !
  4. Extention là gói mở rộng cực lớn, nó có thể chứa các plugin, Component, hay Module, có thể thay đổi hoặc hiển thị hệ thống, ví dụ như OpenCart cho Joomla có thể gọi là Extention !

Trong WordPress, ta chỉ thấy Plugin là plugin, dễ gọi, dễ nhớ và dễ phát triển !

Tạo Module phức tạp

Cấu tạo của một module Joomla
Cấu tạo của một module Joomla

Trong WordPress yêu cầu chỉ cần một file trong plugin là đủ, bao gồm cả khai báo các thành phần thông tin như tên người viết, tên plugin cho tới phiên bản hiện tại, nói chung với WordPress thì đơn giản lắm lắm !

Với Joomla thì khác, các bạn cần phải tuân thủ tuyệt đối mô hình MVC trong lập trình, bao gồm file khai báo XML, file chứa các chức năng mở rộng và file giao diện trong folder riêng TMPL !

Như vậy, với các gà mờ trong code như mình, hoặc với mấy anh trai đang học lập trình thì Joomla quả là không mấy thú vị !

Chưa kể, Joomla không có cấu tạo hook như Drupal hay WordPress, chúng toàn phải viết theo dạng mở rộng class mặc định, thử xem đoạn sau đây:

/*
 * Hướng dẫn được viết bởi JoomlaBasic.com
 * 
 */

defined('_JEXEC') or die('Restricted access');
require_once (dirname(__FILE__).DS.'helper.php');
$hello = modHelloWorldHelper::getHello();
require(JModuleHelper::getLayoutPath('mod_helloworld'));

Trong khi, với WordPress bạn có thể viết dạng function tự nhiên, rồi hook vào đâu bạn muốn chứ không cần phải khai báo bất kì cái gì gây sự phức tạp, ví dụ đơn giản ta thêm chữ “Tôi nói là:” vào trước tựa đề, như sau:

function toi_noi_la( $title ) {
return "Tôi nói là: " . $title;
}
add_filter('the_title', 'toi_noi_la');

Như vậy, bất cứ đâu gọi hàm “the_title” thì chắc chắn sẽ được thêm tiền tố “Tôi nói là:” vào trước tựa đề !

Hoặc như trong Drupal, ta có cách viết như thế này:

/* Hook có tên là hook_menu() */
  function mymodule_menu() {
    $items['abc/def'] = array(
      'page callback' => 'mymodule_abc_view',
    );
    return $items;
  }

  function mymodule_abc_view($ghi = 0, $jkl = '') {
    // ...
  }

Jo ! Chỉ còn Joomla là nhằng nhịt !

Nhanh nhưng chậm

Nhanh đó là tạo giao diện, với Joomla thì việc tạo ra các block là nhanh chóng và kể cả CSS cũng vậy, người ta sẽ tạo ra các block theo khung, sau đó xấu đẹp gì thì người dùng sẽ cấu hình hiển thị qua Admin chứ người viết giao diện không hẳn chịu trách nhiệm cho mấy việc đó, tôi có thể sử dụng giao diện mặc định và cấu hình vào các block một cách nhanh chóng để hiển thị website !

Chậm đó là tốc độ, vì truy vấn hỏi thành phần các block và sự sắp xếp của chúng, kèm theo cấu hình hiển thị và nội dung cho nên nó chậm hơn, trước kia tôi làm một website bán hàng nho nhỏ bằng Joomla nhưng phải nhanh chóng bỏ chúng vì làm website đơn giản chạy trên host nhỏ là thấy độ chậm, lì lợm của nó rồi !

Kết

Có thể các bạn thấy Joomla hợp với các bạn nên dùng, tôi cũng không ý kiến gì, nhưng rõ ràng là Joomla so với WordPress thì một trời một thiên đình, WordPress có cộng đồng phát triển rộng khắp, dễ dàng tìm Freelancer giải quyết công việc, cộng thêm với kho plugin cực kì phong phú, giao diện nhiều vô số kể, lại cộng thêm code đơn giản nên ngày càng có nhiều người sử dụng ( khẩu hiệu: Viết code như làm thơ ! ) Thì không có lý do gì tôi lại đi đâm vào Joomla nhằng nhịt cả !

Chúc mọi người thành công !

 

TÁC GIẢ:

Tôi là Jam, thâm niên 7 năm thiết kế website và làm SEO. Hãy theo dõi blog của tôi để nhận được nhiều chia sẻ thú vị xung quanh chủ đề công nghệ.

Có 3 bình luận !

  1. Trước em cũng thử tìm hiểu qua cái em Joomla! xem nó thế nào, vì thấy mấy cái template của nó cũng đèm đẹp, setup cúng nhanh vì có các module extention hỗ trợ, nhưng càng đi sâu vào em thấy càng rối rắm nhất là quản lý content, plug in lung tung cả, trước đó em cũng tìm hiểu với WP và so sánh nên em quyết định bỏ em JL và đi với em WP chỉ đơn giản như bác nói ” Viết code như làm thơ” mặc dù em là gờ a ga huyền gà về code. Hơn nữa em thấy Hỗ trợ Seo của Joomla so với WP thì chắc các bác đã biết WP hỗ trợ Seo siêu nét như thế nào bởi có cả một cộng đồng đông đảo trên thế giới hỗ trợ và phát triển, người ta gọi là liên tục phát triển. Tóm lại là em yêu WP và không chọn Joomla!
    Cảm ơn bác vì bài viết chất!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *