Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng Xây dựng website trường cao đẳng du lịch hải phòng
TỔNG QUAN
Tổng quan về World Wide Web
World Wide Web (WWW) hay còn gọi là web là một dịch vụ phổ biến nhất hiện nay trên Internet, 85% các giao dịch trên Internet ước lượng thuộc về
Ngày nay, số lượng website trên toàn cầu đã tăng lên đáng kể, cho phép người dùng truy cập thông tin đa dạng như văn bản, hình ảnh, âm thanh và video Việc sử dụng website giúp các công ty giảm thiểu chi phí in ấn và phân phối tài liệu đến khách hàng ở nhiều địa điểm khác nhau.
1.1.2 Cách tạo ra trang web
Có nhiều cách để tạo trang web, có thể tạo trang web trên bất kì chương trình xử lí văn bản nào:
- Tạo web bằng cách viết mã nguồn bởi một trình soạn thảo văn bản như:
Notepad, WordPad, v.v là những chương trình soạn thảo văn bản có sẵn trong Window.
- Thiết kế bằng cách dùng web Wizard và công cụ của Word 97, Word
- Thiết kế web bằng các phần mềm chuyên nghiệp: PHPStorm,
Dreamweaver, Nescape Editor, sẽ giúp thiết kế trang web dễ dàng hơn, nhanh chóng hơn, phần lớn mã lệnh HTML sẽ có sẵn trong phần code.
Để phát triển một ứng dụng web hoàn chỉnh và có khả năng thương mại, cần kết hợp giữa Client Script (kịch bản trình khách) và Server Script (kịch bản trên trình chủ), cùng với việc sử dụng một loại cơ sở dữ liệu như MS.
Access, SQL Server, MySQL, Oracle,
- Khi muốn triển khai ứng dụng web trên mạng, ngoài các điều kiện về cấu hình phần cứng, cần có trình chủ web thường gọi là web Server.
1.1.3 Trình duyệt web (web Client hay web Browser)
Trình duyệt Web là phần mềm cho phép người dùng truy xuất dữ liệu trên mạng, thực hiện nhiệm vụ gửi yêu cầu đến các Web Server và nhận dữ liệu cần thiết để hiển thị Để sử dụng dịch vụ World Wide Web (WWW), người dùng cần có một trình duyệt Web và kết nối Internet qua nhà cung cấp dịch vụ (ISP) Một số trình duyệt phổ biến hiện nay bao gồm Microsoft Internet Explorer, Google Chrome và Mozilla Firefox.
Webserver là một máy tính kết nối Internet, chạy phần mềm chuyên dụng để xử lý các nhiệm vụ cụ thể Nó thực hiện các chức năng như tìm kiếm trang web phù hợp, xử lý dữ liệu và kiểm tra tính hợp lệ của thông tin.
Webserver không chỉ là nơi lưu trữ cơ sở dữ liệu mà còn là phần mềm đảm nhiệm vai trò cung cấp dịch vụ Web Nó hỗ trợ nhiều công nghệ khác nhau, giúp tối ưu hóa hiệu suất và khả năng truy cập của các ứng dụng trực tuyến.
- IIS (Internet Information Service): Hỗ trợ ASP, mở rộng hỗ trợ PHP -
- Tomcat: Hỗ trợ JSP (Java Servlet Page).
Tổng quan về Html-css
- Thẻ định nghĩa trang html, kiểu khai báo của html 5.
Thẻ tiêu đề (title tag) là một phần quan trọng và bắt buộc trong mã HTML, hiển thị tiêu đề của trang trên thanh tiêu đề của trình duyệt Thẻ này không chỉ giúp người dùng nhận diện nội dung của trang web mà còn ảnh hưởng đến thứ hạng SEO, vì nó là yếu tố chính mà các công cụ tìm kiếm sử dụng để đánh giá và lập chỉ mục trang web.
Thẻ chứa tất cả thông tin được khai báo và hiển thị trên trang web, cho phép người dùng dễ dàng nhìn thấy nội dung này khi truy cập trang.
- Thẻ … định nghĩa một nội dung.
- Thẻ
tạo một đoạn mới
- Thẻ thay đổi phông chữ, kích cỡ và màu kítự.
Thẻ được sử dụng để định dạng bảng trên trang web, và sau khi khai báo thẻ này, cần thiết phải khai báo các thẻ hàng cùng với thẻ cột và các thuộc tính của chúng.
- Thẻ cho phép chèn hình ảnh vào trang web Thẻ này thuộc loại thẻ không có thẻ đóng.
Thẻ được sử dụng để tạo liên kết giữa các trang web, cũng như kết nối đến địa chỉ Internet, Mail, Intranet (URL) và các tệp trong mạng cục bộ (UNC).
Thẻ trong HTML cho phép người dùng nhập dữ liệu hoặc thực hiện các hành động như gửi biểu mẫu Các loại thẻ Input bao gồm: text, password, submit, button, reset, checkbox, radio, hidden và image, mỗi loại phục vụ một mục đích riêng biệt trong việc tương tác với người dùng.
- Thẻ < textarea> < \textarea> cho phép người dùng nhập liệu với rất nhiều dòng. Với thẻ này không thể giới hạn chiều dài lớn nhất trên trang Web.
Thẻ trong HTML cho phép người dùng chọn một phần tử từ danh sách đã được định nghĩa sẵn Khi thẻ cung cấp khả năng chọn một mục trong danh sách, nó hoạt động tương tự như một combobox, mang lại sự tiện lợi cho việc lựa chọn thông tin.
cho phép người dùng chọn nhiều phần tử cùng một lần trong danh sách phần tử, thẻ đó là dạng listbox.
Thẻ trong HTML được sử dụng để gửi dữ liệu người dùng từ trang web phía Client lên Server, thông qua hai phương thức chính là POST và GET Một trang web có thể chứa nhiều thẻ khác nhau, tuy nhiên các thẻ này không được lồng vào nhau Mỗi thẻ cần chỉ định hành động (action) để gửi dữ liệu đến một trang cụ thể.
Css là ngôn ngữ tạo phong cách cho trang web – Cascading Style Sheet language. CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996.
CSS được sử dụng để tạo phong cách và định dạng cho các yếu tố trong ngôn ngữ đánh dấu như HTML Nó cho phép điều khiển định dạng của nhiều trang web cùng lúc, giúp tiết kiệm công sức cho người viết web CSS phân biệt cách hiển thị của trang web với nội dung chính bằng cách điều chỉnh bố cục, màu sắc và font chữ.
HTML và CSS có mối quan hệ chặt chẽ, trong đó HTML đóng vai trò là ngôn ngữ đánh dấu, tạo nền tảng cho trang web, trong khi CSS chịu trách nhiệm định hình phong cách và giao diện của website Hai ngôn ngữ này không thể tách rời trong việc xây dựng và thiết kế trang web.
Các stylesheet ngoài được lưu trữ dưới dạng các tập tin CSS.
Bootstrap is a framework that includes HTML, CSS, and JavaScript templates for developing responsive websites It streamlines the process of creating websites, making it faster and easier to design responsive layouts.
Ngôn ngữ PHP
PHP là chữ viết tắt của “Personal Home Page do” Rasmus Lerdorf tạo ra năm
Vào năm 1994, PHP bắt đầu được áp dụng trong môi trường chuyên nghiệp nhờ tính hữu dụng và khả năng phát triển của nó, và trở thành "PHP: Hypertext Preprocessor" PHP thực chất là một ngôn ngữ kịch bản nhúng trong HTML, cho phép mã PHP được lồng ghép vào các trang HTML một cách linh hoạt.
PHP là một ngôn ngữ lập trình mạnh mẽ, hoạt động chủ yếu trên máy chủ (Server-Side) và có khả năng tương thích với nhiều hệ điều hành khác nhau, bao gồm Windows và Unix Điều này có nghĩa là tất cả các tác vụ PHP diễn ra trên máy chủ, và mã kịch bản PHP có thể chạy trên các máy chủ khác mà không cần chỉnh sửa hoặc chỉ cần chỉnh sửa rất ít Tính chất không phụ thuộc vào môi trường giúp PHP trở thành một lựa chọn linh hoạt cho các nhà phát triển.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL….
Apache là phần mềm máy chủ web, có chức năng nhận yêu cầu từ trình duyệt người dùng, chuyển giao cho PHP để xử lý và gửi kết quả trở lại trình duyệt.
MySQL, giống như các hệ quản trị cơ sở dữ liệu khác như Postgres, Oracle và SQL Server, đóng vai trò quan trọng trong việc lưu trữ và truy vấn dữ liệu hiệu quả.
1.3.2 Lý do nên dùng PHP
PHP được sử dụng làm web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác.
PHP là một ngôn ngữ lập trình mạnh mẽ, có khả năng tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu hiện có Với tính linh động, bền vững và khả năng phát triển không giới hạn, PHP mang lại nhiều lợi ích cho các nhà phát triển Đặc biệt, PHP là mã nguồn mở, cho phép người dùng truy cập miễn phí và cộng đồng phát triển web luôn nỗ lực cải tiến, nâng cao hiệu suất và khắc phục lỗi trong các ứng dụng.
Máy khách Máy chủ web PHP
PHP là ngôn ngữ lập trình dễ tiếp cận cho người mới, đồng thời cũng đáp ứng tốt nhu cầu của các lập trình viên chuyên nghiệp Với khả năng linh hoạt và mạnh mẽ, PHP có thể thực hiện xuất sắc mọi ý tưởng của lập trình viên Hiện nay, PHP đã được sử dụng trên hơn 13 triệu website.
1.3.3 Ho tạ đ ngộ c aủ PHP
PHP là ngôn ngữ lập trình phía máy chủ, cho phép mã lệnh được xử lý trên máy chủ để cung cấp nội dung cho các trang web theo yêu cầu của người dùng qua trình duyệt.
Yêu cầu URL Gọi mã kịch bản
Khi người dùng truy cập vào website được xây dựng bằng PHP, máy chủ sẽ đọc và xử lý mã lệnh PHP theo các hướng dẫn đã được mã hóa Mã lệnh này yêu cầu máy chủ gửi dữ liệu thích hợp, thường là mã lệnh HTML, đến trình duyệt web Trình duyệt sẽ hiển thị dữ liệu này như một trang HTML tiêu chuẩn Đáng chú ý, PHP có thể được nhúng trong trang HTML và có phần mở rộng là html, với mã PHP được đặt trong thẻ mở.
PHP là một ngôn ngữ lập trình phía máy chủ, nơi máy chủ đọc nội dung file PHP, lọc và thực thi các đoạn mã PHP Kết quả của các đoạn mã này sẽ được thay thế vào vị trí ban đầu trong file PHP Cuối cùng, máy chủ trả về một trang HTML hoàn chỉnh cho trình duyệt.
Cấu trúc cơ bản: PHP cũng có thẻ bắt đầu và kết thúc giống với HTML
Trong PHP, để kết thúc một dòng lệnh, chúng ta sử dụng dấu chấm phẩy ";" Để chú thích một đoạn dữ liệu, có thể sử dụng dấu "//" cho từng dòng hoặc cặp thẻ "/* */".
*/" cho từng cụm mã lệnh.
Ví dụ:
Xuất giá trị ra trình duyệt chúng ta có những dòng cú pháp sau:
PHP có các kiểu dữ liệu cơ bản sau:
- Số nguyên, số thực, chuỗi, Boolean, mảng, đối tượng,resource, NULL/
Một số thành phần chính trong PHP.
- Biến: Một biến bắt đầu bằng dấu $, theo sau là tên của biến.
- Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới.
- Một tên biến không thể bắt đầu bằng một số.
- Tên biến chỉ có thể chứa các ký tự chữ và số dưới (Az, 0-9 và _).
- Tên biến là phân biệt chữ hoa chữ thường.
Chuỗi: là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong các dấu nháy, ví dụ: ‘Hello’.
Hằng số là một định danh cho giá trị đơn giản không thay đổi trong tập lệnh Để tạo hằng số, bạn sử dụng hàm define() Các hằng số này được tự động toàn cầu và có thể được sử dụng trong toàn bộ tập lệnh.
Printf “Thông tin”; Thông tin bao gồm biến, chuỗi,hoặc lệnh html….
Sức mạnh thực sự của PHP đến từ các Hàm
PHP cung cấp hơn 1000 hàm dựng sẵn và cho phép người dùng tạo các hàm tùy chỉnh Điều này giúp giảm thiểu thời gian lặp lại thao tác lập trình, cho phép lập trình viên định nghĩa các hàm có khả năng sử dụng nhiều lần trên website Việc này không chỉ giúp kiểm soát mã nguồn một cách mạch lạc mà còn cho phép tùy biến trên mọi trang mà không cần phải viết lại mã lệnh như HTML thuần.
Một hàm do người dùng định nghĩa bắt đầu bằng từ khóa "function", và tên hàm phải bắt đầu bằng chữ cái hoặc dấu gạch dưới Lưu ý rằng tên hàm không phân biệt chữ hoa và chữ thường.
Tự định nghĩa hàm có tham số
Tự định nghĩa hàm có giá trị trả về
Function functionName(){ // Lệnh thực thi; Return giatrij;
Có 2 phương thức được sử dụng trong lập trình PHP là GET và POST.
Phương thức GET được sử dụng để lấy dữ liệu từ form nhập liệu, nhưng nhiệm vụ chính của nó vẫn là truy xuất nội dung trang dữ liệu từ máy chủ web.
- Phương thức POST: phương thức này được sử dụng để lấy dữ liệu từ form nhập liệu và chuyển chúng lên trình chủ webserver.
1.3.7 PHP OOP(Object-Oriented Programming.)
OOP là viết tắt của lập trình hướng đối tượng, là việc tạo các đối tượng chứa cả hàm và dữ liệu.
Lập trình hướng đối tượng có một số lợi thế so với lập trình thủ tục:
- OOP nhanh hơn và dễ thực hiện hơn.
- OOP cung cấp một cấu trúc rõ ràng cho các chương trình.
- OOP giúp giữ mã PHP DRY "Đừng lặp lại chính mình" và làm cho mã dễ dàng hơn để duy trì, sửa đổi và gỡ lỗi.
- OOP cho phép tạo các ứng dụng có thể tái sử dụng đầy đủ với ít mã hơn và thời gian phát triển ngắn hơn.
Cookie và Session là hai phương pháp sử dụng để quản lý các phiên làm việc giữa người sử dụng và hệ thống.
Cookie và Session là hai phương pháp sử dụng để quản lý các phiên làm việc giữa người sử dụng và hệ thống.
Session được sử dụng để lưu trữ dữ liệu trên server, bao gồm thông tin người dùng và tùy chọn cấu hình hệ thống Tất cả session được lưu trữ trong biến toàn cục $_SESSION.
Tổng quan về framework Yii 2
Yii là một framework PHP mã nguồn mở miễn phí, nổi bật với hiệu năng xử lý cao, giúp tăng tốc độ phát triển ứng dụng web 2.0 Framework này tối ưu hóa việc sử dụng các thành phần, cho phép xây dựng ứng dụng một cách hiệu quả Tên gọi Yii, được phát âm là Yê hoặc [ji:], mang ý nghĩa "thật đơn giản và luôn phát triển" trong tiếng Trung, thể hiện triết lý thiết kế của nó.
“dịch”) Nghĩa thứ hai có thể đọc ngắn gọn là Yes It Is.
Yii là một framework phát triển ứng dụng Web mạnh mẽ, cho phép lập trình viên tạo ra mọi loại ứng dụng Web bằng ngôn ngữ PHP Với thiết kế nhẹ và giải pháp cache tối ưu, Yii đặc biệt phù hợp cho các ứng dụng có dung lượng dữ liệu lớn như web portal, diễn đàn, hệ thống quản lý nội dung (CMS), thương mại điện tử và dịch vụ Web RESTful.
Giống như những PHP frameworks khác, Yii sử dụng mô hình MVC (Model-View- Controller) tổ chức code một cách hợp lý và có hệ thống.
Yii phát triển mã nguồn đơn giản và tinh tế, phản ánh triết lý lập trình của mình Yii không ngừng đổi mới và không bị ràng buộc bởi những mẫu thiết kế quá an toàn, luôn hướng tới sự linh hoạt và sáng tạo.
Yii có khả năng mở rộng cao, cho phép người dùng tùy chỉnh hoặc thay thế bất kỳ bộ mã nguồn nào Bên cạnh đó, bạn cũng có thể tận dụng kiến trúc mở rộng chuẩn của Yii để sử dụng hoặc phát triển các mở rộng phân phối một cách hiệu quả.
1.4.2Một số thành phần chính
Controller là một thành phần quan trọng trong mẫu thiết kế MVC, kế thừa từ class yii\base\Controller Nó có nhiệm vụ xử lý các yêu cầu từ ứng dụng, phân tích thông tin yêu cầu, gửi dữ liệu đến models để xử lý, và gán kết quả từ model vào views trước khi gửi phản hồi cho người dùng.
Mỗi Controller đều chứa các action để user có thế tìm thấy, gửi yêu cầu tới ứng dụng để xử lý Mỗi controller có thể có nhiều action.
Để tạo mới một Action, bạn chỉ cần định nghĩa nó trong lớp Controller với tên phương thức tương ứng Mỗi phương thức của Action sẽ có phạm vi toàn cục, và tên của phương thức phải bắt đầu bằng từ "action".
Model là phần trong mô hình MVC Là đối tượng đại diện cho phần dữ liệu, phương thức xử lý và nghiệp vụ logic.
Views là một phần quan trọng trong mô hình MVC, đảm nhiệm việc hiển thị dữ liệu cho người dùng Một view cơ bản có thể được hiểu là một kịch bản PHP kết hợp giữa mã HTML và PHP.
Tài sản web là các tệp như CSS, JavaScript, hình ảnh hoặc video, có thể được tham chiếu trong trang web Những tài sản này được lưu trữ trong các thư mục có thể truy cập trực tiếp từ máy chủ web, giúp tối ưu hóa hiệu suất và trải nghiệm người dùng.
Giải thích về mô hình MVC
- Giữa Client và Database có mô hình MVC.
Khi người dùng nhập từ khóa trên trình duyệt, Controller sẽ được kích hoạt, sau đó Model sẽ thực hiện một hàm để truy xuất dữ liệu từ cơ sở dữ liệu Dữ liệu này sẽ được trả về Model và tiếp tục chuyển ngược lại Controller, cuối cùng hiển thị kết quả cho Client thông qua View View chính là phần mà người dùng nhìn thấy.
- Model là kho tạo ra những hàm gọi ra từ cơ sở dữ liệu, sau đó trả về Controller và trả về View.
- View và Model không liên quan đến nhau, View chỉ được gọi hàm liên quan đến truy vấn dữ liệu thông qua Controller.
- Một số hàm thông dụng findOne(), findAll(), delete(), deleteALL(), redirect(), where(), andFilterWhere, orderBy().
1.4.3 Routing and URL Creation Đường dẫn URL mặc định sử dụng tham số r để thể hiện tuyến đường và các tham số truy vấn thông thường để biểu thị các tham số truy vấn được liên kết với đường dẫn.
Đường dẫn trong đề tài được cấu trúc như sau: http://localhost/my-web/quan-ly/?ri-viet, trong đó "my-web" là tên dự án, "quan-ly" là thư mục, và "BaiVietController.php" nằm trong thư mục backend/controllers Đường dẫn này cho phép truy cập vào danh mục bài viết trong backend để quản lý nội dung, ví dụ: http://localhost/my-web/index.php?r=site%2Fbai-viet&path=gioi-thieu.
File index.php chứa các đường dẫn đến các mục front-end, trong đó site%2Fbai-viet tương ứng với đường dẫn site/bai-viet, và tham số path = gioi-thieu đại diện cho danh mục giới thiệu.
THIẾT KẾ BACK-END, FRONT-END
Phân tích thiết kế hệ thống
Trường Cao Đẳng Du Lịch Hải Phòng là cơ sở giáo dục công lập trực thuộc Bộ Văn hóa, Thể thao và Du lịch, chuyên đào tạo 6 ngành nghề trọng điểm quốc gia Các ngành học bao gồm: Quản trị nhà hàng, Quản trị khách sạn, Quản trị lễ tân, Quản trị lữ hành, Hướng dẫn du lịch và Quản trị chế biến món ăn, nhằm đáp ứng nhu cầu phát triển nguồn nhân lực chất lượng cao trong lĩnh vực du lịch.
Website của trường cần có logo và menu được sắp xếp ngang ngay sau logo Thông tin nổi bật nên được hiển thị qua Slider, cùng với các bài viết quan trọng mà nhà trường muốn giới thiệu Cần cập nhật liên tục các bài viết thuộc nhiều danh mục khác nhau, bao gồm giới thiệu về trường, tin tức, thông tin tuyển sinh, hoạt động sinh viên, việc làm cho sinh viên, và cảm nhận từ thầy cô, sinh viên và cựu sinh viên Các bài viết của đối tác cũng nên được thể hiện qua những bức ảnh đại diện Việc xây dựng website riêng cho trường ngày càng trở nên cần thiết, giúp thông tin về nhà trường, công văn, thông báo và tin tức mới được truyền tải nhanh chóng và kịp thời đến sinh viên, hạn chế phiền hà trong giao tiếp truyền thông.
Thông tin ảnh slider Thông tin danh mục Thông tin từ khóa
HỆ THỐNG QUẢN LÝ WEBSITE
Bài viết cần được đăng bao gồm các thông tin xác nhận như: bài viết, ảnh slider, danh mục, từ khóa và người dùng Mỗi thông tin này đều cần có xác nhận để đảm bảo tính chính xác và đầy đủ trước khi tiến hành đăng tải.
Xây dựng biểu đồ ngữ cảnh của hệ thống
Website được chia làm hai thành phần.
Front-end là phần của website mà người dùng trực tiếp tương tác, bao gồm hệ thống giao diện người dùng (GUI) và lập trình phía người dùng.
Lập trình back-end (lập trình trên server) bao gồm các thành phần thiết yếu để xử lý thông tin từ front-end, đồng thời tương tác với hệ quản trị cơ sở dữ liệu.
Mỗi quản trị viên website đều có tài khoản và mật khẩu để truy cập vào phần quản trị Hệ thống phân quyền người dùng được chia thành hai vai trò: vai trò quản trị viên có toàn quyền sử dụng tất cả chức năng của website, trong khi vai trò người quản lý bị hạn chế chỉ có thể xem và xem chi tiết thông tin.
Người quản trị viên có nhiệm vụ tạo và quản lý các danh mục trên trang web Những danh mục này được sắp xếp hợp lý trên các thanh menu, giúp người dùng dễ dàng truy cập Hệ thống cũng tích hợp các chức năng thêm, sửa, xóa và xem để đảm bảo tính linh hoạt và tiện lợi trong việc quản lý nội dung.
Người quản trị viên có thể quản lý slider trên trang web thông qua chức năng quản lý ảnh và nội dung, với các tùy chọn thêm, sửa và xóa Mỗi slider bao gồm nhiều hình ảnh, và các hình ảnh này được lưu trữ cả trong cơ sở dữ liệu lẫn trên máy chủ vật lý.
Người quản trị viên có thể quản lý các bài viết trên trang web thông qua chức năng quản lý bài viết, bao gồm việc thêm, sửa, xóa và xem chi tiết bài viết Mỗi bài viết có thể được phân loại là nổi bật hoặc không nổi bật, và đều có ảnh đại diện; nếu không có, ảnh mặc định sẽ được sử dụng Bài viết bao gồm tiêu đề, nội dung, ngày đăng, và thuộc về các danh mục cụ thể Ngoài ra, mỗi bài viết có thể chứa nhiều hình ảnh và từ khóa, với mỗi từ khóa xuất hiện trong nhiều bài viết khác nhau, đồng thời có nhiều vai trò người dùng liên quan đến từng bài viết.
Hàng ngày, khách truy cập vào website của Trường để tìm hiểu thông tin giới thiệu, các bài viết nổi bật và mới nhất, thông tin về các khoa, thông tin dành cho sinh viên, tin tức tuyển sinh, tin tức việc làm và các đối tác.
2.1.1 Bảng cơ sở dữ liệu
STT Tên trường Kiểu dữ liệu Ghi chú
2 name Varchar(60) Tên danh mục
3 code varchar(60) Mã danh mục
STT Tên trường Kiểu dữ liệu Ghi chú
2 name varchar(60) Tên bài viết
3 ngay_dang datetime Ngày đăng bài
4 noi_dung text Nội dung bài đăng
5 anh_dai_dien varchar(150) Ảnh đại diện bài viết
6 code varchar(150) Mã bài viết
7 mo_ta_ngan_gon varchar(300) Mô tả bài viết
8 user_id int Khóa ngoài
9 noi_bat tinyint Bài viết nổi bật
Bảng Danh mục bài viết
STT Tên trường Kiểu dữ liệu Ghi chú
2 danh_muc_id int Khóa ngoài
3 bai_viet_id int Khóa ngoài
STT Tên trường Kiểu dữ liệu Ghi chú
2 file varchar(100) Thư mục ảnh
3 anh_bai_viet_id int Khóa ngoài
STT Tên trường Kiểu dữ liệu Ghi chú
2 mo_ta varchar(150) Mô tả nội dung
3 link varchar(150) Đường dẫn liên kết Ảnh slider
STT Tên trường Kiểu dữ liệu Ghi chú
2 file varchar(60) Thư mục ảnh
3 slider_id int Khóa ngoài
Bảng vai trò người dùng
STT Tên trường Kiểu dữ liệu Ghi chú
2 vai_tro Varchar(45) Tên vai trò người dùng
3 user_id Int Khóa ngoài
STT Tên trường Kiểu dữ liệu Ghi chú
2 username varchar(45) Tên đăng nhập
5 password_reset_toke n varchar(45) Restart mật khẩu
6 email varchar(45) Địa chỉ email người dùng
7 status varchar(45) Trang thái toàn khoản
8 created_at datetime Thời gian tạo tài khoản
9 update_at datetime Thời gian cập nhập thài khoản
10 vai_tro enum Vai trò người dùng
11 them_bai_viet_id int Khóa ngoài
12 sua_bai_viet_id int Khóa ngoài
STT Tên trường Kiểu dữ liệu Ghi chú
2 name varchar(100) Tên từ khóa
3 code varchar(100) Mã từ khóa
STT Tên trường Kiểu dữ liệu Ghi chú
2 tu_khoa_id int Khóa ngoài
3 noi_dung_bai_viet_id int Khóa ngoài
Danh Mục Có Danh Mục Bài Viết
Bài Viết Có Danh Mục Bài Viết
Hình 3 Bảng cơ sở dữ liệu User
Xây dựng back-end
2.1.1 Tạo Project và thêm framework Yii2
Hình 4 Project và framewwork Yii 2
- Project có tên là: my-web.
- Và các thư mục framework yii2.
2.1.2 Kết nối cơ sở dữ liệu
- Truy cập vào file common => config => main-local.php.
- Điền nội dung để kết nối tới cơ sở dữ liệu PHPMyadmin.
Hình 5 Cấu hình kết nối tới cơ sở dữ liệu
Tạo giao diện back-end và thay đổi lại đường dẫn thành localhost/my-web/quan- ly/index.
Tạo file có tên quan-ly, copy file assets,css,index.php vào file quan-ly.
Thay đổi lại đường dẫn của file index.php.
Hình 6 Sau khi thay đổi lại đường dẫn file index.php
2.1.3 Tạo Model Generator và CRUD Generator
Truy cập đường dẫn: http://localhost/my-web/quan-ly/?r=gii
Hình 7 Giao diện Model Generator
Table Name: Tên bảng cơ sở dữ liệu.
Model Class Name: Tên model, được tạo tự động khi chọn bảng cơ sở dữ liệu. Namespace: Đường dẫn chứa đối tượng được tạo.
User Table Prefix: Sử dụng tiền tố của bảng.
Generate Relations from Current Schema: Tạo mối quan hệ từ bảng hiện tại. Generate Labels from DB Comments: Tạo nhãn từ comment từ bảng.
User Schenma Name: Sử dụng tên lược đồ.
Hình 8 Giao diện CRUD Generator
Model class: Khai báo thư mục chứa tên đối tượng.
Search Model Class: Nơi chứa đối tượng Search.
Controller Class: Nơi chứa đối tượng Controller
View Path: Nơi chứa thư mục View.
2.1.4 Gi iả thích n iộ dung
Hình 9 Giao diện quản lý danh mục
Tại giao diện Quản lý danh mục gồm: số thứ tự, ID, Tên danh mục, Code, Danh Mục check, và các chức năng Xem, Sửa, Xóa.
Chức năng tìm kiếm Danh mục, tìm kiếm theo ID, Tên danh mục, Code.
Hình 10 Giao diện Thêm Danh Mục
Khi tạo một danh mục mới, tên danh mục cần được nhập vào ô tên danh mục Ngoài ra, chức năng Danh Mục check cho phép người dùng quyết định xem danh mục đó có hiển thị hay không; nếu được chọn, danh mục sẽ được hiển thị cho người dùng.
Hình 11 Giao diện xem chi tiết
Khi bạn chọn xem chi tiết, tiêu đề sẽ hiển thị tên danh mục cần xem cùng với ID, tên và mã của danh mục đó Bên cạnh đó, bạn cũng có thể cập nhật hoặc xóa danh mục đang xem.
Hình 12 Giao diện sửa danh mục
Khi chỉnh sửa danh mục, tên danh mục cần sửa sẽ được hiển thị Người dùng cần lấy ra tên danh mục và danh mục kiểm tra cần sửa Sau khi hoàn tất việc chỉnh sửa, người dùng chỉ cần chọn chức năng Lưu để lưu lại các thay đổi.
Tại chức năng xóa, khi người dùng chọn xóa, sẽ hỏi lại rằng có chắc chắn xóa không trước khi xóa một danh mục.
Tạo hàm Xóa danh mục public function beforeDelete()
DanhMucBaiViet::deleteAll(['danh_muc_id' => $this->id]); return parent::beforeDelete(); // TODO: Change the autogenerated stub
Tạo hàm chuyển đổi từ Name sang Code public function beforeSave($insert)
$this -> code = API_H17::createCode($this->name); return parent::beforeSave($insert); // TODO: Change the autogenerated stub
Hình 13 Giao diện Từ khóa
Tại giao diện từ khóa, người dùng có thể xem tên tiêu đề, số thứ tự, ID, tên từ khóa và mã code Hệ thống cung cấp chức năng tìm kiếm theo ID, tên từ khóa và mã code, đồng thời cho phép người dùng tạo mới từ khóa dễ dàng.
Từ Khóa, chức năng Xem, Sửa, Xóa.
Giao diện Tạo từ khóa bao gồm các thành phần chính như tiêu đề "Tạo từ khóa", ô nhập "Tên từ khóa" và chức năng "Save" để lưu lại từ khóa đã tạo.
Hình 15 Giao diện xem từ khóa
Giao diện xem chi tiết từ khóa cung cấp thông tin bao gồm tiêu đề, ID, tên và mã của từ khóa Chức năng cập nhật cho phép người dùng điều chỉnh từ khóa hiện tại, trong khi chức năng xóa giúp loại bỏ từ khóa không cần thiết.
Hình 16 Giao diện sửa từ khóa
Giao diện sửa từ khóa bao gồm các thành phần chính như tiêu đề cập nhật từ khóa, nơi người dùng có thể nhập tên từ khóa cần sửa, và chức năng lấy ra tên từ khóa hiện tại để chỉnh sửa Ngoài ra, giao diện còn cung cấp tính năng lưu lại các thay đổi của từ khóa sau khi chỉnh sửa.
Tại chức năng Xóa từ khóa, Khi người dùng chọn xóa, sẽ có giao diện hỏi lại có chắc chắn xóa từ khóa không.
Tạo hàm lưu từ khóa public function beforeSave($insert)
$this->code = API_H17::createCode($this->name); return parent::beforeSave($insert); // TODO: Change the autogenerated stub
Tạo hàm xóa từ khóa public function beforeDelete()
BaiVietId::deleteAll(['tu_khoa_id'=>$this->id]); return parent::beforeDelete(); // TODO: Change the autogenerated stub
Tại giao diện Slider, người dùng có thể thấy tiêu đề Slider cùng với các cột thông tin như số thứ tự, ID, mô tả và link Hệ thống hỗ trợ chức năng tìm kiếm theo ID, mô tả và link, đồng thời cho phép người dùng tạo, xem, sửa và xóa một Slider một cách dễ dàng.
Hình 18 Giao diện tạo Slider
Khi tạo một Slider gồm: Mô tả, Link, Hình ảnh Khi chọn hình ảnh, sẽ lấy ra một hoặc nhiều ảnh cần chọn Chức năng Save để lưu Slider.
Hình 19 Giao diện xem Slider
- Khi xem một Slider, sẽ hiển thị tiêu đề Là ID của Slider cần xem.
- Xem ID, Mô tả, Link của Slider cần xem Và chức năng cập nhập Slider, chức năng XóaSlider đang xem.
Hình 20 Giao diện sửa Slider
- Giao diện sửa Slide, tiêu đề Cập nhập Slider là ID Slider cần cập nhập, lấy ra nội dung
Mô tả, lấy ra nội dung Link, lấy ra Hình ảnh của Slider cần sửa.
Khi chỉnh sửa hình ảnh trong Slider, cần thêm chức năng xóa ảnh, cho phép người dùng xóa ảnh khỏi cơ sở dữ liệu và ổ cứng vật lý Sau khi hoàn tất việc sửa đổi, cần có chức năng Lưu để lưu lại các thay đổi cho Slider.
- Tại chức năng xóa một slider, khi người dùng chọn xóa, sẽ có giao diện hỏi lại có chắc chắn xóa slider không.
Tạo hàm lưu Slider public function afterSave($insert, $changedAttributes)
$files = UploadedFile::getInstances($this, 'hinh_anhs'); foreach ($files as $file){
$ten_file = time().$file ->name;
$anh_slider -> slider_id = $this ->id;
$anh_slider -> file = $ten_file; if($anh_slider ->save()){
$path = dirname(dirname( DIR )).'/images/'.$ten_file;
} parent::afterSave($insert, $changedAttributes); // TODO: Change the autogenerated stub
Tạo hàm xóa ảnh Slider public function actionXoaAnhSlider($idhinhanh){
$anh_slider = AnhSlider::findOne($idhinhanh);
$id_slider = $anh_slider ->slider_id; if($anh_slider->delete()) return $this ->redirect(url::toRoute(['slider/update', 'id'=>$id_slider])); else throw new HttpException(500, Html::errorSummary($anh_slider));}
Tạo hàm xóa ảnh Slider public function beforeDelete()
// beforeDelete -> delete ->aftẻDelete xóa ảnh trong daraadase xong thì xóa ảnh trên ổ cứng
// AnhSlider::deleteAll(['slider_id'=> $this->id]); // hàm xóa tất cả dữ liệu bảng con mà ko liên quan đế ảnh dữ liệu vật lý, xóa id mà m chọn
$anh_sliders = AnhSlider::findAll(['slider_id'=>$this->id]); foreach ($anh_sliders as $anh_slider){
$anh_slider->delete(); // Anhslider -> beforeDelete + afterDelete,
} return parent::beforeDelete(); // TODO: Change the autogenerated stub
Hình 21 Giao diện bài viết
Giao diện bài viết bao gồm các cột quan trọng như số thứ tự, hình ảnh đại diện, tên bài viết, ngày đăng, nội dung bài viết, nhóm danh mục, độ nổi bật, nhóm từ khóa, cùng với các chức năng như xem, sửa và xóa.
Chức năng tìm kiếm bài viết thông qua: Tên bài viết.
Chức năng tìm kiếm bài viết cho phép người dùng lọc theo ngày đăng, bao gồm các tùy chọn như từ ngày đến ngày, từ ngày tháng đến ngày tháng, hoặc từ ngày tháng năm đến ngày tháng năm.
Chức năng tìm kiếm bài viết thông qua: Nội dung bài viết.
Chức năng tạo mới bài viết.
Hình 22 Giao diện tạo mới bài viết Tại giao diện tạo mới bài viết: gồm tiêu đề là Thêm bài viết.
Tên bài viết là một trường bắt buộc và cần phải được điền đầy đủ Nếu người dùng không nhập tên bài viết, hệ thống sẽ hiển thị thông báo "Tên bài viết không được để trống!" để nhắc nhở.
The article discusses the content editor, which serves as a repository for written material and includes various text editing tools such as Cut, Copy, Paste, Paste from Word, Undo, Redo, and Spell Checker It also allows for text formatting options like Bold, Italic, and Strikethrough, as well as the ability to insert or remove numbered and bulleted lists Additionally, users can insert links, images, tables, and apply styles, with the option to set the text to Normal heading.
Người dùng chỉ có thể chọn một ảnh đại diện từ danh sách có sẵn Nếu không chọn ảnh nào, hệ thống sẽ tự động sử dụng ảnh mặc định có tên no-image.jpg Khi người dùng đã chọn ảnh, tên của ảnh được chọn sẽ được hiển thị.
Hàng ảnh bài viết: Người dùng chọn được nhiều ảnh, sẽ hiển thị ra số lượng ảnh được chọn.
Để quản lý danh mục bài viết, trước tiên cần lấy tất cả danh mục từ bảng Danh mục Mỗi bài viết phải thuộc ít nhất một danh mục, và nếu bài viết được đánh dấu là nổi bật, người dùng có thể chọn hai chức năng Nổi bật trong danh mục thông qua checkbox.
Xây dựng Front-end
Trong thư mục frontend, tạo thư mục có tên truongcaodangdulichhp(Trường Cao đẳng Du lịch Hải Phòng), tạo hai thư mục có tên assets và views.
Thư mục assets có các file:
- Css: là thư mục có chứa các file css của website.
- Fonts: là thư mục có chứa các file phông chữ, các icon.
- Js: chứa các thư viện javascript.
- Style.css là file định dạng nội dung bằng css.
Thư mục views có các file layouts và site
File layouts có chứa file main.php, file main.php là file chứa nội dung header và footer của trang web.
File site có chứa file:
- Index.php là file trang chủ của website.
- Gioi-thieu.php là file trang giới thiệu của website.
- Bai-viet.php là file trang bài viết của website.
- Chi-tiet-bai-viet là file trang chi tiết các bài viết.
2.2.2 T ngổ quan về front-end
Website sử dụng HTML 5, được phát triển trên nền tảng ngôn ngữ HTML và quan trọng nhất của world wide web.
Website sử dụng Css làm ngôn ngữ tạo phong cách cho trang web.
Website dử dụng framework Bootstrap 3, bao gồm HTML, CSS và JavaScript template để phát triển website chuẩn responsive.
Website sử dụng ngôn ngữ lập trình Javascript và framework Jquery.
Website sử dụng hai font chữ là: Arial, Helvetica
2.2.3 Xây d ngự trang trang chủ
Hình 31 Giao diện trang chủ
- Trang chủ là trang đại diện cho trang chính của website.
- Nội dung menu là danh sách các danh mục.
- Slider của trang là danh sách các ảnh.
- Hai bài viết bên phải đại diện cho hai bài nổi bật của trang website.
Hình 32: Giao diện trang chủ
- Nội dung tin tức là danh sách các tin tức, khi xem một bài viết sẽ xem chi tiết bài viết đó.
- Xem tất cả để xem tất cả các bài viết.
Hình 33 Giao diện trang chủ
- Khi xem một bài viết tuyển dụng, sẽ xem chi tiết nội dung bài viết.
Hình 34: Giao diện trang chủ -Khi xem một bài viết về khoa, sẽ xem chi tiết về bài viết khoa.
- Xem được Clip nổi bật của trang.
Hình 35: Giao diện trang chủ
- Khi xem một bài viết cảm nhận về htc, sẽ xem được chi tiết bài viết.
- Và hiển thị danh sách các ảnh đối tác của trường.
Hình 36 Giao diện trang chủ
- Hiển thị thông tin về trường, liên kết tới trang facebook của trường, liên kết đến kênh Youtube của trường, hiển thị địa chỉ map của trường.
Code trang index.php public function actionIndex()
->andFilterWhere(['code_loai_bai_viet' => 'tin-tuc'])
->andFilterWhere(['code_loai_bai_viet'=>'viec-lam-htc']) ->orderBy(['id'=>SORT_DESC])
->andFilterWhere(['code_loai_bai_viet'=>'doi-tac'])
->andFilterWhere(['code_loai_bai_viet' =>'khoa'])
->andFilterWhere(['code_loai_bai_viet' => 'cam-nhan-ve-htc']) ->orderBy(['id'=>SORT_DESC])
->andFilterWhere(['code_loai_bai_viet' => 'trang-sinh-vien-htc'])
->andFilterWhere(['code_loai_bai_viet' => 'trang-tuyen-sinh-htc'])
->andFilterWhere(['code_loai_bai_viet' => 'trang-dich-vu-cong'])
//echo $trangsinhvienhtc->anh_dai_dien; die();
$vieclam_link = DanhMuc::find()->where(['code'=> 'viec-lam-htc'])->one();
$khoa_link = DanhMuc::find()->where(['code'=>'khoa'])->one();
$tintuc_link = DanhMuc::find()->where(['code'=>'tin-tuc'])->one();
$camnhanvehtc_link = DanhMuc::find()->where(['code'=>'cam-nhan-ve-htc'])->one(); return $this->render('index',[
'baiviet_khoa_link' => $khoa_link,
2.2.4 Xây d ngự trang gi iớ thi uệ
Hình 37 Giao diện trang giới thiệu
- Hiển thị tiêu đề bài viết, và nội dung chi tiết của trang giới thiệu.
- Khi chọn thông tin về ban giám hiệu nhà trường sẽ hiển thị ảnh chứa thông tin.
Code trang Giới thiệu if($path == 'gioi-thieu'){
$gioi_thieu_BV = DanhMuc::findOne(['code'=>$path]);
->andFilterWhere(['code_loai_bai_viet'=>'gioi-thieu'])
$danhsachkhoas = ChiTietBaiViet::findAll(['code_loai_bai_viet' => 'khoa']); return $this->render('gioi-thieu',[
'gioi_thieu_BV'=>$gioi_thieu_BV,
2.2.5 Xây d ngự trang bài vi tế
Hình 38: Giao diện trang Khoa
- Hiển thị danh sách các khoa của trường.
- Khi xem một khoa sẽ xem được nội dung chi tiết của bài viết khoa đó.
Code trang bài viết public function actionBaiViet($path){ if($path == 'gioi-thieu'){
$gioi_thieu_BV = DanhMuc::findOne(['code'=>$path]);
->andFilterWhere(['code_loai_bai_viet'=>'gioi-thieu'])
$danhsachkhoas = ChiTietBaiViet::findAll(['code_loai_bai_viet' => 'khoa']); return $this->render('gioi-thieu',[
'gioi_thieu_BV'=>$gioi_thieu_BV,
$baiviets = ChiTietBaiViet::findAll(['code_loai_bai_viet'=>$path]);
$danh_muc_BV = DanhMuc::findOne(['code'=>$path]);
//echo $danh_muc_BV->name;die();
$noidungViecLamBaiViets = ChiTietBaiViet::findAll(['code_loai_bai_viet'=>'viec- lam-htc']);
$noidungNoiBatBaiViets = ChiTietBaiViet::findAll(['noi_bat'=>1]);
$noidungCamNhanVeHTC = ChiTietBaiViet::findAll(['code_loai_bai_viet'=>'cam- nhan-ve-htc']);
$noidungDoitacBaiviets = ChiTietBaiViet::findAll(['code_loai_bai_viet'=>'doi- tac']); return $this->render('bai-viet',[
'danh_muc_BV'=>$danh_muc_BV,
2.2.6 Xây dựng trang chi tiết bài viết
Hình 39 Giao diện trang chi tiết bài viết
Khi bạn xem chi tiết bài viết, nội dung chi tiết sẽ được hiển thị cùng với các bài viết liên quan trong cùng một danh mục.
Hình 40 Giao diện trang chi tiết bài viết
- Ngoài chi tiết bài viết và các bài viết liên quan, trang chi tiết bài viết còn hiển thị Ảnh bài viết và Bài viết nổi bật.
Code trang chi tiết bài viết public function actionProduct($path){
$baiviet = ChiTietBaiViet::findOne(['code'=>$path]);
$anh_bai_viet = AnhBaiViet::findAll(['anh_bai_viet_id'=>$baiviet->id]);
$noidungNoiBatBaiViets = ChiTietBaiViet::findAll(['noi_bat'=>1]);
// $noidungchitiettintucBaiViets = ChiTietBaiViet::findAll(['code_loai_bai_viet'=>'tin- tuc']);
$baivietTuongtus = $baiviet->danhMucs; foreach ($baivietTuongtus as $item){
$samePosts = $item->getBaiViets()->where(['!=','id',$baiviet->id])->all();
} return $this->render('chi-tiet-bai-viet',[
'anh_bai_viet'=>$anh_bai_viet,
DEMO WEBSITE
Demo Back-end
Hình 41 Giao diện đăng nhập.
Hình 42 Giao diện khi người dùng đăng nhập.
Giao diện người dùng đăng nhập với vai trò Admin
Danh sách các menu gồm danh mục bài viết, từ khóa, bài viết, slider, người dùng, logout(Admin)
Hình 43 Giao diên khi người dùng đăng nhập
Giao diện người dùng đăng nhập với vai trò người quản lý, với tên đăng nhập là Nguyễn Văn A
Danh sách các menu gồm danh mục bài viết, từ khóa, bài viết, slider, logout(Nguyễn Văn A)
Giao diện người dùng đăng nhập với vai trò người quản lý sẽ không có danh mụcNgười dùng(Nơi chứa các tài khoản người dùng)
Hình 44 Giao diện SldierKhi người dùng truy cập vào menu Slider
Demo Front-end
Hình 45 Giao diện trang chủ.
Tại giao diên trang chủ, gồm tên trường, giao diện chức năng tìm kiếm, danh sách các menu, Slider ảnh, và bên phải là hai bài viết nổi bật
Hình 46 Giao diện trang chủ
Trang chủ bao gồm danh sách tin tức và việc làm, trong khi bên phải hiển thị các liên kết để xem chi tiết về trang Sinh viên HTC, trang Tuyển sinh và trang Dịch vụ công trực tuyến.
Hình 47 Giao diện trang chủHiển thị danh sách các khoa, nội dung bên phải là clip nổi bật của trường, và giao diện đăng nhập.
Hình 48 Giao diện trang chủ.
Tại mục Cảm nhận về HTC, bạn có thể tìm thấy các bài viết liên quan, trong khi mục Đối tác giới thiệu hình ảnh của các đối tác Ngoài ra, ở phần footer, thông tin quan trọng như tên trường, địa chỉ và số điện thoại được hiển thị rõ ràng.
Tại mục "Theo dõi chúng tôi", bạn có thể tìm thấy liên kết đến trang Facebook và kênh YouTube của trường Cao đẳng Du Lịch Hải Phòng Bên cạnh đó, mục bản đồ cung cấp địa chỉ chính xác để bạn dễ dàng tìm đến trường.
3.2.2 Demo trang chi ti tế bài vi tế
Giao diện trang chi tiết bài viết bao gồm tên bài viết, ảnh đại diện và nội dung chi tiết Bên phải trang, danh sách các bài viết liên quan được hiển thị, giúp người đọc dễ dàng tìm kiếm thêm thông tin.
Giao diện trang chi tiết bài viết trình bày hình ảnh bài viết cùng với nội dung bên phải, nơi hiển thị hai bài viết nổi bật.
Quá trình xây dựng một website giáo dục bằng ngôn ngữ lập trình mới bao gồm việc phát triển trang back-end với giao diện thân thiện và từ ngữ dễ hiểu, giúp người dùng dễ dàng thao tác Cần thiết lập các chức năng quản lý nội dung và phân quyền người dùng khi đăng nhập để kiểm soát nội dung hiệu quả Trang front-end được thiết kế để cung cấp thông tin cần thiết, cho phép nhà trường cập nhật tin tức, hình ảnh và bài viết một cách linh hoạt Cuối cùng, giao diện cần có màu sắc và bố cục hài hòa, tạo cảm giác thoải mái cho người sử dụng.
Mặc dù website đã có những cải tiến, nhưng vẫn tồn tại một số hạn chế như kích thước nhỏ, thiếu chức năng tìm kiếm nội dung, đăng ký, đăng nhập và chat trực tuyến với người dùng Hơn nữa, nội dung hiện tại chưa đáp ứng đầy đủ nhu cầu của người dùng.
Trong thời gian tới, tôi sẽ hoàn thiện các chức năng tìm kiếm nội dung, đăng ký, đăng nhập và chat trực tuyến với người dùng Đồng thời, tôi sẽ tạo cơ sở dữ liệu phong phú và xây dựng các trang chi tiết đa dạng hơn, nhằm mang lại nội dung thuận tiện cho người dùng.