Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tạo url cho site sử dụng slugify #5

Open
evansnguyen0104 opened this issue Sep 9, 2015 · 2 comments
Open

Tạo url cho site sử dụng slugify #5

evansnguyen0104 opened this issue Sep 9, 2015 · 2 comments

Comments

@evansnguyen0104
Copy link

Vấn đề

  • Khi load bài ra ngoài view chúng ta thường có url dạng http://2015vuicuoi.net/post/41 điều này rất mất quan đô thị :)))) và không đảm bảo sự chuyên nghiệp
  • Các site hay gặp thường có ur như sau : http://vnexpress.net/tin-tuc/the-gioi/tu-lieu/chiec-xe-bieu-tuong-moi-cho-suc-manh-my-tren-chien-truong-3274441.html
    -> Giải pháp Tạo url cho site sử dụng slugify

Tính năng

  • Loại bỏ tất cả các ký tự đặc biệt từ một chuỗi (VD : tình -> tinh ).
  • Chuyển đổi một chuỗi thành một slug (VD : "Tình yêu bắt đầu" -> "tinh-yeu-bat-dau").

Cài đặt

B1: Cài đặt thư viện của slugify thông qua composer
** Mở file composer.json thêm đoạn code này :
"cocur/slugify": "~1.0" vào require,sau khi thêm sẽ có dạng :

"require": {
        "php": ">=5.4.0",
        "sifoni/sifoni": "~2.0",
        "knplabs/console-service-provider": "~1.0",
        "facebook/php-sdk-v4": "~5.0",
        "cocur/slugify": "~1.0"
    },

B2: Chạy update composer thông qua lệnh : composer update -vvv
B3: Mở file hook.php trong folder config và thêm đoạn code này :

$app->register(new Cocur\Slugify\Bridge\Silex\SlugifyServiceProvider());

Như vậy bạn đã hoàn tất việc cài đặt,bây giờ tiến hành sử dụng :
VD : Mình tạo url cho post khi thêm bài viết thông qua title thì tiến hành như sau :
Trong controller tiến hành lấy giá trị từ form về như bình thường : $input = $this->getPostData();
Bây giờ mình tạo ra 1 biến url để lưu slug :

$url= $this->app['slugify']->slugify($input['title']);

Như vậy biến $url đang lưu url dưới dạng chúng ta cần
VD : Nhập tiêu đề là "Ai BD số 1 công ty" -> biến $url ="ai-bd-so-1-cong-ty"
Tiến hành add vào csdl như bình thường (Lưu ý các bạn phải tạo ra 1 cột trong table để lưu trữ biến $url)
Link tham khảo : https://github.com/cocur/slugify

@khanhicetea
Copy link
Contributor

👍 good

*Nội dung của ai-bd-so-1-cong-ty chắc sẽ là @anhnt0212 rồi 😄 *

@evansnguyen0104
Copy link
Author

cái này không dám nhận đâu a 😯

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants