Cách thì giống bạn này này ổn nhất.Tức là Admin có tạo thêm chức năng thêm thành phố, quận huyên...vv. Table Couriers có dạng lưu thêm phí giao hàng theo từng tỉnh do bạn tạo và set giá ở trang admin kia.
Khi người dùng checkout trang cart thì có select option bắt họ chọn TP, Quận, Phường theo đó. Rồi từ các giá trị đó để select thêm phí tương ứng của nó từ table Couriers trên kia cộng vào tổng giá của sản phẩm.
@tuna À ý mình là là nếu service của bạn cần phải xử lý nhiều request đến đồng thời, thì lúc đó phần backend của bạn sẽ phải làm việc khá nặng nhọc, có thể bạn sẽ phải cần đến những giải pháp về load balancing đấy
Code đẹp, tổ chức code tốt, tối ưu logic hay đương nhiên là tốt, tuy nhiên nhiều lúc như thế vẫn là chưa đủ, đôi lúc bạn cần mở rộng server hay dùng thêm các server khác nữa
Cám ơn bạn Kim đã giải thích cặn kẽ, bt mình cũng sử dụng og:image, ngay trong dự án Laravel với Vue gần nhất của mình thì dùng vẫn ok, nhưng thực sự thì hiểu ko kĩ đến như bạn nói
OpenGraph được coi là một giao thức để giúp "giao tiếp" giữa website và social network. Trong đó, website của bạn đóng vài trò là một object với các thuộc tính của nó được thể hiện qua các thẻ meta trong website. Mỗi thẻ meta thẻ hiện cho một property, mỗi property thể hiện cho một thông tin như: url, title, image...
Các property này nằm trong danh sách được định ra bởi OpenGraph, các social network cũng lấy thông tin website trên danh sách cách thuộc tính OpenGraph đưa ra. Bạn có thể xem danh sách cách property ở đây: http://ogp.me/
Do đó, vấn đề bị lỗi hiển thị ảnh khi post link lên facebook là do bạn thiếu property og:image trong website. Do đó nó không phụ thuộc vào việc bạn dùng vue hay laravel.
Bạn chỉ cần bổ sung property còn thiếu, các social network như facebook sẽ đọc nó và hiển thị ảnh của bạn. Cụ thể, bạn cần thêm:
@thangtd90 Giống kiểu thứ 2 như bạn nói, chỉ cần nó giữ được tầm đó connection để bắn realtime noti thôi. Còn vấn đề scale backend bạn nói rõ hơn giúp mình được ko, là nó nằm ở phần tổ chức code của mình hay sao nhỉ :V
@caominhduc Hai cái helper này nó có cùng chức năng là lấy ra đường dẫn của một route. Như mình chia sẻ, trường hợp bạn cần phải thay dổi đường dẫn url cho một tính năng nào đó chẳng hạn, thì bạn chỉ cần sử lại duy nhất nơi định nghĩa cái route đó. Việc dùng nó ở rất nhiều nhiều chỗ khác sẽ không phải sửa. Thử nghĩ lục tung đống view lên để sửa lại đường dẫn thì cũng hơi mệt nếu số lượng view nhiều.
Hồi trước thì mình chỉ học mỗi vue-cli để làm các dạng trang SPA, và thấy rằng bị lỗi hiển thị hình ảnh trong Open Graph Facebook meta tags khi post linh trên Facebook. Không biết khi dùng Lavarel + VueJS thì có phát sinh vấn đề như trên không.
Giả sử bạn có route trong file web.php như sau: Route::post('profile/user', 'ProfileController@store')->name('store-profile')
Nếu dùng hàm url() sẽ có dạng url('/profile/user'). Trong trường hợp ở cần sửa route đó thành user/profile thì bạn sẽ phải sửa ở 2 chỗ, 1 là ở file web.php 2 là ở chỗ bạn dùng hàm url().
Còn nếu bạn dùng route() thì sẽ chì cần sửa trong file web.php thôi tự động chỗ nào dùng hàm route('store-profile') sẽ được cập nhật
Thế nếu thay đổi route name thì sao?
Theo mình thấy vai trò của route name và url tương tự nhau. Nhưng thường url mang tính cố định cao hơn là route name.
@huukimit thế thì lại không được bạn à, vì như vậy thì ảnh sẽ không rộng hết khung mà => nhìn thế cái khung bị thừa hai bên coi xấu lắm, mình muốn khung chỉ co giãn trong khoảng kích thước tối đa của ảnh thôi.
Các bạn giúp mình nhé !
Theo mình thấy việc sửa url là rất ít khi xảy ra. Vì bản chất url là cấu trúc thư mục ( ban đầu là thế ). Thông thường 1 là thêm url hơn là sửa url.
Việc dùng route mình cũng thấy có nhiều bất cập với hệ thống lớn khi có quá nhiều route có vai trò tương tự ( như CRUD chẳng hạn ) thì lúc đó để phân biệt sẽ lại phải bổ sung, sửa tên Route cuối cùng tên Route cũng chả khác Url là mấy.
@wiliamfeng Vậy thì mình nghĩ bạn cần set max-width cho cái ảnh thay vì set cho item. Vì item là một thành phần trong grid, mỗi item cần cái width đều nhau để vừa khít với container. Cụ thể cái ảnh chỉ được phép max-width = 100% item width.
THẢO LUẬN
@thangtd90 Cảm ơn Thắng, mình sẽ để tâm tới phần đó, trước mắt là code xong để nó chạy được đã haha
Cách này khá hay. Cảm ơn b
series quá chất ad ạ
Cách thì giống bạn này này ổn nhất.Tức là Admin có tạo thêm chức năng thêm thành phố, quận huyên...vv. Table Couriers có dạng lưu thêm phí giao hàng theo từng tỉnh do bạn tạo và set giá ở trang admin kia.
Khi người dùng checkout trang cart thì có select option bắt họ chọn TP, Quận, Phường theo đó. Rồi từ các giá trị đó để select thêm phí tương ứng của nó từ table Couriers trên kia cộng vào tổng giá của sản phẩm.
Hướng dẫn sử dụng typeorm với graphql: roles, permissions,..
@tuna À ý mình là là nếu service của bạn cần phải xử lý nhiều request đến đồng thời, thì lúc đó phần backend của bạn sẽ phải làm việc khá nặng nhọc, có thể bạn sẽ phải cần đến những giải pháp về load balancing đấy
Code đẹp, tổ chức code tốt, tối ưu logic hay đương nhiên là tốt, tuy nhiên nhiều lúc như thế vẫn là chưa đủ, đôi lúc bạn cần mở rộng server hay dùng thêm các server khác nữa
Cám ơn bạn Kim đã giải thích cặn kẽ, bt mình cũng sử dụng og:image, ngay trong dự án Laravel với Vue gần nhất của mình thì dùng vẫn ok, nhưng thực sự thì hiểu ko kĩ đến như bạn nói
quảng cáo liên quân trá hình =))
Cảm ơn bạn! Mình sẽ tham khảo thêm
OpenGraph được coi là một giao thức để giúp "giao tiếp" giữa website và social network. Trong đó, website của bạn đóng vài trò là một object với các thuộc tính của nó được thể hiện qua các thẻ
meta
trong website. Mỗi thẻ meta thẻ hiện cho một property, mỗi property thể hiện cho một thông tin như: url, title, image...Các property này nằm trong danh sách được định ra bởi OpenGraph, các social network cũng lấy thông tin website trên danh sách cách thuộc tính OpenGraph đưa ra. Bạn có thể xem danh sách cách property ở đây: http://ogp.me/
Do đó, vấn đề bị lỗi hiển thị ảnh khi post link lên facebook là do bạn thiếu property
og:image
trong website. Do đó nó không phụ thuộc vào việc bạn dùng vue hay laravel.Bạn chỉ cần bổ sung property còn thiếu, các social network như facebook sẽ đọc nó và hiển thị ảnh của bạn. Cụ thể, bạn cần thêm:
Để check các thuộc tính còn thiếu, bạn có thể truy cập: https://developers.facebook.com/tools/debug/sharing để kiểm tra.
@thangtd90 Giống kiểu thứ 2 như bạn nói, chỉ cần nó giữ được tầm đó connection để bắn realtime noti thôi. Còn vấn đề scale backend bạn nói rõ hơn giúp mình được ko, là nó nằm ở phần tổ chức code của mình hay sao nhỉ :V
@caominhduc Hai cái helper này nó có cùng chức năng là lấy ra đường dẫn của một route. Như mình chia sẻ, trường hợp bạn cần phải thay dổi đường dẫn url cho một tính năng nào đó chẳng hạn, thì bạn chỉ cần sử lại duy nhất nơi định nghĩa cái route đó. Việc dùng nó ở rất nhiều nhiều chỗ khác sẽ không phải sửa. Thử nghĩ lục tung đống view lên để sửa lại đường dẫn thì cũng hơi mệt nếu số lượng view nhiều.
yasuo gank team 20 gg =))
Hồi trước thì mình chỉ học mỗi vue-cli để làm các dạng trang SPA, và thấy rằng bị lỗi hiển thị hình ảnh trong Open Graph Facebook meta tags khi post linh trên Facebook. Không biết khi dùng Lavarel + VueJS thì có phát sinh vấn đề như trên không.
Cám ơn, vì đã hỗ trợ
Thanks for sharing.
Giả sử bạn có route trong file
web.php
như sau:Route::post('profile/user', 'ProfileController@store')->name('store-profile')
url('/profile/user')
. Trong trường hợp ở cần sửa route đó thànhuser/profile
thì bạn sẽ phải sửa ở 2 chỗ, 1 là ở fileweb.php
2 là ở chỗ bạn dùng hàm url().web.php
thôi tự động chỗ nào dùng hàmroute('store-profile')
sẽ được cập nhậtThế nếu thay đổi route name thì sao? Theo mình thấy vai trò của route name và url tương tự nhau. Nhưng thường url mang tính cố định cao hơn là route name.
@huukimit thế thì lại không được bạn à, vì như vậy thì ảnh sẽ không rộng hết khung mà => nhìn thế cái khung bị thừa hai bên coi xấu lắm, mình muốn khung chỉ co giãn trong khoảng kích thước tối đa của ảnh thôi. Các bạn giúp mình nhé !
Theo mình thấy việc sửa url là rất ít khi xảy ra. Vì bản chất url là cấu trúc thư mục ( ban đầu là thế ). Thông thường 1 là thêm url hơn là sửa url. Việc dùng route mình cũng thấy có nhiều bất cập với hệ thống lớn khi có quá nhiều route có vai trò tương tự ( như CRUD chẳng hạn ) thì lúc đó để phân biệt sẽ lại phải bổ sung, sửa tên Route cuối cùng tên Route cũng chả khác Url là mấy.
@wiliamfeng Vậy thì mình nghĩ bạn cần set max-width cho cái ảnh thay vì set cho item. Vì item là một thành phần trong grid, mỗi item cần cái width đều nhau để vừa khít với container. Cụ thể cái ảnh chỉ được phép max-width = 100% item width.