Trong CodeIgniter 3, bạn có thể tạo chức năng tương tự như shortcode của WordPress để cho phép nhúng nội dung động hoặc chức năng vào trong các view. Mặc dù CodeIgniter không có hỗ trợ sẵn cho shortcode như WordPress, bạn có thể xây dựng hệ thống shortcode tùy chỉnh bằng cách sử dụng các regular expressions (biểu thức chính quy) để tìm và thay thế các mã shortcode trong nội dung.

Dưới đây là cách bạn có thể tạo một chức năng shortcode cơ bản trong CodeIgniter 3:

Bước 1: Tạo Helper cho Shortcode

Tạo một helper mới để quản lý các shortcode. Bạn có thể lưu nó trong thư mục application/helpers/ với tên tệp là shortcode_helper.php.

[hello]

Ví dụ tiếp theo: tạo shortcode [button], hiển thị một nút với văn bản và URL tùy chỉnh.

do_shortcode()

Bước 4: Tải Helper trong Controller

Trong controller của bạn, đảm bảo helper shortcode_helper được tải trước khi sử dụng các shortcode:

// Trong view (application/views/shortcode_view.php)

$content = '
    <p>Đây là một đoạn văn bản có chứa shortcode.</p>
    <p>[hello]</p>
    <p>[button text="Click Here" url="https://google.com"]</p>
';

// Thực thi shortcode trước khi hiển thị nội dung
echo do_shortcode($content);

Kết quả

Khi bạn chạy view với nội dung chứa các shortcode, các shortcode sẽ được thay thế bằng các giá trị thực tế được tạo bởi các hàm shortcode. Kết quả sẽ trông giống như:

<?php
class Shortcode extends CI_Controller {

    public function index() {
        // Tải helper shortcode
        $this->load->helper('shortcode');

        // Tải view chứa shortcode
        $this->load->view('shortcode_view');
    }
}
?>

Mở rộng Shortcode

Bạn có thể dễ dàng mở rộng hệ thống shortcode này bằng cách:

  • Thêm nhiều hàm shortcode khác vào shortcode_helper.php.
  • Sử dụng các logic phức tạp hơn trong các hàm shortcode.
  • Tích hợp các chức năng như chèn hình ảnh, nhúng video, hoặc tạo các biểu mẫu động.

Kết luận

Với cách này, bạn đã có thể tạo một hệ thống shortcode tương tự như WordPress trong CodeIgniter 3. Bằng cách sử dụng biểu thức chính quy và callback, bạn có thể xử lý và thực thi các shortcode động để nhúng các phần tử hoặc chức năng vào trong nội dung của view.