Hướng dẫn học : Tạo link thân thiện trong CakePHP

Hướng dẫn học : Tạo link thân thiện trong CakePHP

Trong bài viết này , nội dung chính chủ yếu xoay quanh vấn đề rewrite liên kết trong CakePHP , rewrite ở đây chính là cách làm cho 1 đường link theo mặc định ban đầu trở nên thận thiện hơn và đẹp hơn .

Thông thường ta dùng router hoặc htaccess để rewrite link . Trong bài viết này chủ yếu là Config Router (cấu hình router trong CakePHP)

Ví dụ : Gán link mặc định

Giả sử ta có 1 link như sau http://localost/cakephp/blogs/home

<?php
class BlogsController extends AppController{
    
    function home(){
      ..............
    }
}
Tức là ta đang truy cập :

- Controller : Blogs
- function : home()

Tôi muốn khi truy cập vào http://localost/cakephp thì nó sẽ tự hiểu là http://localost/cakephp/blogs/home thì làm như sau

Trong app/config/routes.php ta thêm

Router::connect('/', array('controller' => 'blogs', 'action' => 'home')); 

Ví dụ : Tạo link thân thiện

Giả sử ta có link http://localhost/cakephp/blog/view/12

<?php

class BlogsController extends AppController{
    
    function view($id=null){
      ..............
    }
}

Tức là ta đa truy cập :

- Controller : Blogs
- function : view()
- Xem bài viết có id = 12

Nhưng tôi muốn khi truy cập vào http://localhost/cakephp/12-Bai-viet-so-muoi-hai.html thì nó vẫn hiểu là http://localhost/cakephp/blog/view/12

- Trong đó (12-Bai-viet-so--muoi-hai) : "12" là ID của bài viết và "Bai-viet-so--muoi-hai" là tiêu đề của bài viết

Ta vào app/config/router.php thêm đoạn mã sau

Router::connect(

        '/:id-:slug.html', 
        array('controller' => 'blogs', 'action' => 'view'),
        array(
            'pass' => array('id', 'slug'),
            "id"=>"[0-9]+", // chỉ là số
        )
    ); 

Trong file view.ctp bạn phải tạo link như trên . Có nhiều cách , các bạn có thể viết bằng mã Html cơ bản hoặc dùng hàm của Cakephp .

Ví dụ tạo link http://localhost/cakephp/12-Bai-viet-so-muoi-hai.html dùng hàm có sẳn của CakePHP

Trong file view.ctp

<?php 

        echo $html->link('Bài viet so muoi hai', 
            array(  
                'controller' => 'blogs',    
                'action' => 'view',    
                'id' => 12,    
                'slug' => Inflector::slug('Bài viet so muoi hai'))); 
    ?>

- Bài viết tham khảo tại : http://book.cakephp.org/view/945/Routes-Configuration

Tags: 
Bạn thấy bài viết này như thế nào?: 
Average: 10 (1 vote)
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Quảng cáo việc làm

 

Thích hợp các bạn nữ mảng thợ may làm việc tại nước NGA

Đơn hàng Tuyển dụng 100 Thợ may đi Nga(đợt 1 tháng 3.2021, đợt 2 tháng 5.2021). Lương thực lãnh 800 USD, bao ăn ở, vé máy bay và visa, phí xuất cảnh(1800 USD)trả khi đi làm có lương. Bạn có thể liên hệ CÔNG TY qua Phone/Zalo: (+84) 944 225 212. Công ty sẽ tư vấn cho bạn.

Xem chi tiết: >>> https://bit.ly/3o9NOfR

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 

Viết module cho Drush command để xoá files như INSTALL.txt, UPGRADE.txt...

While learning to use Drush I was amazed at how easy it made updating the Drupal core and community modules.

Sự khác nhau Route, Path, URL, URI, Link, Menu item trong Drupal 8

Sự khác nhau Route, Path, URL, URI, Link, Menu item trong Drupal 8

A nice article from KatteKrab (Donna Benjamin) covering terms in the Drupal context. These kinds of post are very handy indeed.

Nhóm phát triển kính Project Glass trình diễn cách tìm kiếm trên kính Glass

Nhóm phát triển kính Project Glass trình diễn cách tìm kiếm trên kính Glass

Nhóm phát triển kính Project Glass đăng một video cho thấy chiếc kính thông minh của Google hoạt động ấn tượng với khả năng nhận diện giọng nói và tương tác thực ảo (AR - augmented reality).

Wordpress Freelancer

 

Wordpress Freelancer