Làm cách nào để viết mã HTML trong bộ điều khiển CodeIgniter?

Bộ điều khiển được thiết lập để xử lý các trang tĩnh. Bộ điều khiển là một lớp giúp đơn giản hóa công việc trong CodeIgniter

Trong URL khung CodeIgniter, một mẫu cơ bản được tuân theo

Trong URL sau đây,

http. //abc. com/sách/tiểu thuyết/

Ở đây, 'cuốn sách' là lớp trình điều khiển hoặc bạn có thể nói đây là tên trình điều khiển

'tiểu thuyết' là phương pháp được gọi là. Nó mở rộng đến CI_Controller để kế thừa các thuộc tính của bộ điều khiển


Một ví dụ để in Hello World

Tạo tệp trong Bộ điều khiển

Trong Bộ điều khiển, tạo một tệp có tên "Xin chào. php". Tệp này sẽ được lưu trong thư mục Trình điều khiển của CodeIgniter của bạn. Viết đoạn mã sau

Ở đây, lớp trình điều khiển của bạn là Hello, mở rộng thành CI_Controller có nghĩa là chúng có thể truy cập các phương thức và biến được xác định trong lớp trình điều khiển

$this tải các khung nhìn, thư viện và ra lệnh cho khung

Tạo tệp trong Chế độ xem

Tạo một tệp có tên "hello_world. php". Lưu tệp này vào thư mục View của CodeIgniter của bạn. Viết đoạn mã sau

Có thể đôi khi thay vì chỉ là văn bản thuần túy, vì vậy bạn có thể muốn bao gồm hình ảnh, định dạng văn bản và URL trong phần nội dung e-mail của mình. Email HTML sẽ cho phép bạn thực hiện việc này và thư viện Email CodeIgniter có thể dễ dàng thiết lập để thực hiện điều đó

Làm thế nào để làm nó…

Email HTML có thể được gửi bằng cách thực hiện các bước sau

  1. Tạo một tập tin email. php tại /path/to/codeigniter/application/controllers/
  2. Thêm mã sau vào email tệp điều khiển. php.

    load->helper('url'); $this->load->library('email'); } public function index() { redirect('email/send_email'); } public function send_email() { $config['protocol'] = 'sendmail'; $config['mailpath'] = '/usr/sbin/sendmail'; $config['charset'] = 'iso-8859-1'; $config['wordwrap'] = TRUE; $config['mailtype'] = 'html'; $this->email->initialize($config); $this->email->from('[email protected]', 'Your Name'); $this->email->to('[email protected]'); $this->email->subject('This is a html email'); $html = 'This is an HTML email'; $this->email->message($html); $this->email->send(); echo $this->email->print_debugger(); } }

Làm thế nào nó hoạt động…

Trong bộ điều khiển hàm tạo, chúng tôi tải thư viện Email (được tô sáng trong đoạn mã sau), cung cấp hỗ trợ để chúng tôi gửi e-mail


function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

Tiếp theo, hàm public index() chuyển hướng chúng ta đến hàm public function send_mail(), hàm này thiết lập một số biến cấu hình ban đầu để thư viện Email CodeIgniter hoạt động, chẳng hạn như hệ thống được sử dụng để gửi e-mail (trong trường hợp này là sendmail) . Hãy nhìn vào dòng mã sau đây

$config['mailtype'] = 'html';

Ở đây, chúng tôi yêu cầu CodeIgniter gửi e-mail dưới dạng HTML thay vì dưới dạng văn bản

Các cài đặt cấu hình này được khởi tạo (nghĩa là được chuyển đến thư viện Email) và chúng tôi bắt đầu tạo e-mail bằng cách đặt các thuộc tính đến, từ, chủ đề và thông báo

$this->email->from('[email protected]', 'Your Name'); $this->email->to('[email protected]'); $this->email->subject('This is a text email'); $this->email->message('And this is some content for the text email.');

Sau đó, gửi e-mail bằng mã sau

$this->email->send();

Nếu tất cả diễn ra như kế hoạch, bạn sẽ thấy một đầu ra tương tự như đoạn mã sau

Your message has been successfully sent using the following protocol: sendmail User-Agent: CodeIgniter Date: Fri, 4 Oct 2013 08:56:59 +0200 From: "Your Name" <[email protected]> Return-Path: <[email protected]> To: [email protected] Subject: =?iso-8859-1?Q?This_is_a_html_email?= Reply-To: "[email protected]" <[email protected]> X-Sender: [email protected] X-Mailer: CodeIgniter X-Priority: 3 (Normal) Message-ID: <[email protected]> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="B_ALT_524e66bbf2868" This is a multi-part message in MIME format. Your email application may not support this format. --B_ALT_524e66bbf2868 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit This is an HTML email --B_ALT_524e66bbf2868 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable This is an HTML email --B_ALT_524e66bbf2868--

Gửi tệp đính kèm bằng Email CodeIgniter

Có thể đôi khi bạn muốn gửi tệp đính kèm cùng với e-mail, chẳng hạn như hóa đơn cho khách hàng mua hàng gần đây hoặc có thể là hình ảnh. Thư viện Email CodeIgniter có thể dễ dàng thiết lập để làm điều đó

Làm thế nào để làm nó…

Bạn có thể gửi tệp đính kèm bằng CodeIgniter Email bằng cách thực hiện các bước sau

  1. Tạo một tập tin email. php tại /path/to/codeigniter/application/controllers/
  2. Thêm mã sau vào tệp điều khiển, email. php.

    load->helper('url'); $this->load->library('email'); } public function index() { redirect('email/send_email'); } public function send_email() { $config['protocol'] = 'sendmail'; $config['mailpath'] = '/usr/sbin/sendmail'; $config['charset'] = 'iso-8859-1'; $config['wordwrap'] = TRUE; $config['mailtype'] = 'html'; $this->email->initialize($config); $this->email->from('[email protected]', 'Your Name'); $this->email->to('[email protected]'); $this->email->subject('This is a html email'); $html = 'This is an HTML email with an attachment, lovely!'; $this->email->message($html); $this->email->attach('/path/to/attachment'); $this->email->send(); echo $this->email->print_debugger(); } }

Làm thế nào nó hoạt động…

Trong bộ điều khiển hàm tạo, chúng tôi tải thư viện Email (được tô sáng trong đoạn mã sau), cung cấp hỗ trợ để gửi e-mail

function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

Tiếp theo, public function index() chuyển hướng chúng ta đến hàm, public function send_mail(), thiết lập một số biến cấu hình ban đầu để thư viện Email CodeIgniter hoạt động, chẳng hạn như hệ thống được sử dụng để gửi e-mail (trong trường hợp này, . Các cài đặt cấu hình này được khởi tạo (nghĩa là được chuyển đến thư viện Email) và chúng tôi bắt đầu tạo e-mail;

________số 8

Sau đó, gửi e-mail bằng mã sau

________ Gửi email hàng loạt với CodeIgniter Email

Có thể đôi khi bạn muốn gửi e-mail hàng loạt; . Bạn có thể muốn gửi cho từng người một e-mail được cá nhân hóa và cũng có thể thêm tệp đính kèm. Bạn cũng có thể muốn lấy tùy chọn e-mail của họ (văn bản thuần túy hoặc HTML) từ tài khoản trên cơ sở dữ liệu của bạn và gửi cho họ đúng định dạng e-mail. Đó là những gì chúng ta sẽ làm ở đây

Sẵn sàng

Chúng tôi cần biết sở thích của mỗi người, chẳng hạn như họ muốn email hay văn bản HTML, cũng như số tham chiếu cá nhân (hoặc ID đặt chỗ) cho chuyến đi của họ. Theo yêu cầu này, chúng tôi sẽ có một cơ sở dữ liệu để chứa tất cả thông tin;

function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

0

Làm thế nào để làm nó…

  1. Tạo một tập tin email. php tại /path/to/codeigniter/application/controllers/
  2. Thêm mã sau vào tệp điều khiển, email. php.

    function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

    1

Làm thế nào nó hoạt động…

Trong bộ điều khiển hàm tạo, chúng tôi tải thư viện Email (được tô sáng trong đoạn mã sau), cung cấp hỗ trợ để chúng tôi gửi e-mail

function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

Tiếp theo, public function index() chuyển hướng chúng ta đến hàm, public function send_mail(), thiết lập một số biến cấu hình ban đầu để thư viện Email CodeIgniter hoạt động, chẳng hạn như hệ thống được sử dụng để gửi e-mail (trong trường hợp này là sendmail

Sau đó, chúng tôi truy vấn cơ sở dữ liệu cho từng chi tiết đặt phòng của khách hàng

function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

3

Truy vấn sẽ lặp qua từng kết quả và gửi một e-mail cụ thể dựa trên các giá trị được truy xuất từ ​​cơ sở dữ liệu trong mỗi vòng lặp

Đầu tiên, chúng tôi tạo cho mình một phương tiện rõ ràng bằng cách xóa tất cả các cài đặt và biến từ một lần lặp lại vòng lặp trước đó bằng cách sử dụng chức năng email CodeIgniter

function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

4

Sau đó, chúng tôi xem tùy chọn e-mail của họ và đặt biến gửi e-mail (mailtype) tương ứng, cùng với văn bản cho nội dung của e-mail. Vì vậy, nếu ai đó thích HTML hơn, chúng tôi sẽ tìm tùy chọn đó và xác định phần thân của e-mail HTML, nếu không, đối với e-mail văn bản, chúng tôi sẽ tìm tùy chọn e-mail văn bản và xác định phần thân cho e-mail văn bản

function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

5

Sau đó, chúng tôi khởi tạo các biến cấu hình. Những ai đã xem một vài công thức trước đó sẽ nhận thấy rằng việc khởi tạo diễn ra muộn hơn trong mã của công thức này so với các công thức khác. Điều này là do chúng tôi không thể khởi tạo các biến cấu hình sớm hơn vì một số biến phụ thuộc vào tùy chọn của từng khách hàng, được tìm nạp từ cơ sở dữ liệu. Vì vậy, chúng tôi phải đợi cho đến khi thông tin chi tiết của từng người dùng được tìm nạp từ cơ sở dữ liệu để khởi tạo từng lần lặp lại cài đặt cấu hình. Và cuối cùng, chúng tôi gửi e-mail

$this->email->send();

Nếu mọi việc suôn sẻ, bạn sẽ thấy một đầu ra tương tự như sau

function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

7Sử dụng bảng HTML với DataTable

DataTable là một thư viện miễn phí để biến bảng html trông bình thường của bạn thành một điều kỳ diệu tương tác với các cột có thể sắp xếp và có thể tìm kiếm, v.v.; . Nó đơn giản để sử dụng và có thể xử lý hầu hết những thứ bạn cần. Ở đây, trong công thức này, chúng ta sẽ sử dụng nó với DataTable để tạo một bảng HTML tương tác có thể sắp xếp và tìm kiếm được. Nó cũng có phân trang. Nếu bạn muốn có kết quả cơ sở dữ liệu, hãy chuyển sang công thức tiếp theo, Sử dụng bảng HTML với DataTable và cơ sở dữ liệu, nơi chúng ta sẽ xem xét việc điền một bảng từ truy vấn cơ sở dữ liệu

Sẵn sàng

Đối với công thức này, bạn sẽ cần làm theo quy trình đã cho

  1. Đảm bảo rằng bạn đã tải xuống DataTable từ liên kết sau. https. //dữ liệu. mạng/tải xuống/
  2. Giải nén đã tải xuống. zip và di chuyển các tệp đến một vị trí trên máy chủ web hoặc máy chủ cục bộ của bạn mà CodeIgniter có thể truy cập được. Đối với công thức này, tôi đã đặt thư mục tại ứng dụng/lượt xem;

Làm thế nào để làm nó…

  1. Tạo bốn tệp như đã cho
    • /path/to/codeigniter/application/controllers/table. php
    • /path/to/codeigniter/application/views/table_header. php
    • /path/to/codeigniter/application/views/table_body. php
    • /path/to/codeigniter/application/views/table_footer. php
  2. Tạo tập tin điều khiển, bảng. php và thêm đoạn mã sau vào nó.

    function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

    8
  3. Tạo tệp xem, table_header. php và thêm đoạn mã sau vào nó.

    function __construct() { parent::__construct(); $this->load->helper('url'); $this->load->library('email'); }

    9

    Take a look at the