Tôi đã tạo một mặt tiền cửa hàng đặc biệt cho một phiên bản di động của trang web của tôi. Làm thế nào để chuyển hướng các thiết bị di động ở đó và cũng liên kết trở lại trang web máy tính để bàn?


7

Tôi đã thiết lập một cửa hàng / cửa hàng di động đặc biệt dưới tên miền phụ - www.m.mydomain.com theo hướng dẫn này .

Tôi sẽ đặt mã này vào các tập lệnh Linh tinh để làm cho hệ thống phát hiện ra rằng khách hàng đang kết nối từ thiết bị di động và chuyển tiếp lưu lượng truy cập đến www.m.mydomain.com :

Tôi có một cửa hàng di động đáp ứng đặc biệt tại m.MYdomain.com - làm cách nào để Magento phát hiện thiết bị di động và chuyển tiếp lưu lượng truy cập đến m.Mydomain.com?

Nhưng bây giờ tôi đang nghĩ một giải pháp tốt hơn có thể chỉ là thay đổi .htaccesstập tin như được giải thích ở đây .

Nhưng tôi không hiểu đặt mã đó vào đâu? Ngoài ra - bài đăng đó là từ năm 2010. Có điều gì mới hơn để đi cùng với sự phát triển trong các thiết bị di động và máy tính bảng không?

Tôi cũng cần đặt một nút lớn trên trang web dành cho thiết bị di động (tại www.m.mydomain.com ) để chuyển hướng khách hàng đến phiên bản máy tính để bàn của trang web ( www.mydomain.com ) nếu họ chọn. Cách tốt nhất để làm điều đó là gì?

Ý tôi là - Làm thế nào điều này có thể làm việc? Nó sẽ không bị mắc kẹt trong một vòng lặp? Khi khách hàng nhấp vào nút sẽ gửi nó đến www.mydomain.com , tập lệnh sẽ không phát hiện lại rằng đó là thiết bị di động và chuyển lưu lượng truy cập trở lại www.m.mydomain.com ? Tôi đọc về làm nó với cookie nhưng chính xác như thế nào? Và làm thế nào tôi có thể thiết lập nút đó?

Tôi đang tìm kiếm một giải pháp đơn giản như trong: lấy mã này và đặt nó ở đây. Thay đổi mã này ở đây và bạn đã hoàn tất! : o)

Trong ví dụ của tôi, trang web dành cho máy tính để bàn của tôi là: www.mydomain.com và điện thoại di động của tôi là: www.m.mydomain.com trong khi tên cửa hàng máy tính để bàn và tên cửa hàng của tôi là: mydomain.com và tên cửa hàng di động và tên cửa hàng của tôi là : mmydomaincom


Cập nhật ngày 12 tháng 12:

Xin đừng nói với tôi để tải một chủ đề khác. Tôi đã có một chủ đề đáp ứng tốt đẹp! Đây không phải là vấn đề. Lý do tôi muốn chuyển hướng đến trang web di động của mình (đặt tại www.m.mysite.com) là vì tôi có khoảng 50 sản phẩm trên trang nhất máy tính để bàn của mình và rất nhiều thứ (chẳng hạn như văn bản được đặt bởi công ty SEO) đó chỉ là chiếm không gian và tôi không cần phải hiển thị sự lộn xộn đó trên thiết bị di động. Tôi nghĩ rằng việc đặt hàng trên thiết bị di động phải nhanh chóng và dễ dàng mà không có rác không cần thiết. Điều đó nói rằng - tôi không cố gắng phát minh lại bánh xe ở đây. Tôi cần 2 thứ.

1. Phát hiện thiết bị di động và nếu đúng như vậy - hãy tải www.m.mysite.com thay vì www.mysite.com

2. Thêm nút cho những người vì bất kỳ lý do gì (có thể họ được kết nối với kết nối wifi nhanh) quyết định họ muốn phiên bản máy tính để bàn thay vào đó và làm cho nó hoạt động khi họ nhấp vào nó để hiển thị www.mysite.com

Nếu bạn truy cập www.ebay.com trên điện thoại di động của mình - nó sẽ chuyển hướng đến "m.ebay.com" Tương tự với YouTube, Facebook, Twitter, LinkedIn ... Vì vậy, đừng nói với tôi đây là cách tiếp cận tuổi già. Nếu những công ty trị giá hàng tỷ đô la này đang làm điều đó - nó có một số logic đằng sau nó ....


stackoverflow.com/questions/3680463/ trên wpandsuch.com/ Từ U cần đặt Cookie & Flag thì nó sẽ hoạt động. Bạn cũng có thể tham khảo Mặc định Magento .htaccessđã cung cấp
Ankit Shah

Xin chào @Allysin Vui lòng chia sẻ giải pháp từ liên kết này mà tôi đã cung cấp.
Ankit Shah

Câu trả lời:


1

0
<?php

$useragent=$_SERVER['HTTP_USER_AGENT'];

if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))

header('Location: http://detectmobilebrowser.com/mobile');

?>

ở vị trí tiêu đề bạn chỉ định url lưu trữ của thiết bị di động


Nhìn có vẻ tốt. Tôi có đặt mã này vào tệp .htaccess không? Và làm thế nào bạn có thể xử lý chuyển hướng trở lại phiên bản Full Desktop khi khách hàng nhấp vào nút để làm như vậy?
Allysin

bạn sẽ chuyển hướng sang phiên bản máy tính để bàn khi người dùng nhấp vào nút
Jigs Parmar

và mã này không được sử dụng trong tệp .htaccess. bạn đặt mã này vào tệp tiêu đề
Jigs Parmar

0

bạn nên thêm ngoại lệ cho các thiết bị di động. Điều hướng đến Magento administrative area -> System -> Configuration -> Design -> Themes. Nhấp vào nút Thêm Ngoại lệ bên cạnh nhãn Mẫu, Giao diện và Giao diện.

Và đối với các trường hợp ngoại lệ phù hợp thêm **iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini**

Giải pháp này giả định rằng bạn có một chủ đề tùy chỉnh khác cho cửa hàng di động


Đúng, nhưng điều này không giải thích cho câu hỏi để khách hàng có thể hiển thị trang web trên máy tính để bàn của họ nếu họ muốn, bởi vì nó chỉ đơn giản là chuyển hướng họ trở lại trang web di động.
Giel Berker

@Vlad Patru Tôi đã có một chủ đề đáp ứng. Tôi KHÔNG cố chuyển hướng đến một chủ đề khác. Tôi cần chuyển hướng đến cửa hàng điện thoại di động của mình = www.m.mysite.com Nếu nó đủ tốt cho các công ty như eBay, YouTube, Facebook, Twitter, LinkedIn thì nó đủ tốt cho tôi. Chưa kể tôi có nhiều sản phẩm trên trang nhất máy tính để bàn và quá nhiều văn bản không cần thiết (SEO) & trên trang web di động của tôi, tôi chỉ có 12 sản phẩm và không có văn bản vô dụng này. Tôi không thể tin vào năm 2016 thật khó để phát hiện thiết bị di động, chuyển hướng đến www.m.mysite.com và đặt một nút ở đó để quay lại phiên bản máy tính để bàn
Allysin

Không khó để phát hiện một thiết bị di động. Nhưng hãy cẩn thận với các tác dụng phụ: Kiểm tra 'Android' cũng phù hợp với máy tính bảng Android hoàn toàn có khả năng hiển thị biến thể máy tính để bàn. Bạn không thể phát hiện phía máy chủ độ phân giải. Nhưng nếu vấn đề của bạn chỉ là nhiều, nhiều sản phẩm, tại sao không tải khối sản phẩm với yêu cầu XHR. Vì điều đó được thực hiện với JavaScript, bạn có thể phát hiện độ phân giải và xác định xem bạn muốn tải một bộ lớn hay nhỏ.
Giel Berkers

0

Trước hết, liên kết bạn cung cấp là để thiết lập một cửa hàng đa trang / nhiều cửa hàng. Ví dụ, khi bạn có một trang web đa ngôn ngữ; nó phát hiện các mẫu trong tên miền và đặt mã cửa hàng thích hợp nếu được đặt.

Để trả lời câu hỏi thứ hai của bạn: .htaccessMã năm 2010 vẫn hoạt động. Chưa thử nghiệm nó, nhưng không có gì khác hơn là kiểm tra tác nhân người dùng theo biểu thức thông thường và không có gì thay đổi nhiều kể từ đó.

Vì vậy, bạn có thể sử dụng ví dụ thứ hai để đặt chuyển hướng. Tuy nhiên, bạn muốn có thể chuyển hướng quay lại trang web, bỏ qua hiệu quả .htaccess-rule.

Tôi nghĩ rằng đặt cược tốt nhất của bạn có thể là không sử dụng .htaccess-rule, mà là để Magento xử lý chuyển hướng theo tác nhân người dùng. Xem bài viết này về cách thiết lập này.

Thử thách thứ hai mà bạn có sau đó là làm cho Magento bỏ qua chuyển hướng này nếu ai đó chọn rõ ràng liên kết trên một trong những thiết bị di động đó. Tôi nghĩ rằng bạn có thể xử lý tốt nhất việc này bằng cách theo dõi mã trong Magento xử lý chuyển hướng và tạo mô-đun viết lại mã này (hoặc nếu bạn may mắn có một sự kiện cho điều đó). Trong mô-đun của bạn, sau đó bạn có thể kiểm tra xem có cờ nào trong URL của mình không (như ?noredirecthoặc một cái gì đó) và thêm cờ vào phiên người dùng để nó không bao giờ kích hoạt chuyển hướng.

Vì vậy, không, không có "giải pháp một dòng" cho những gì bạn đang cố gắng đạt được, nhưng nếu bạn biết cách thực hiện Magento, thì đó không phải là một nhiệm vụ rất khó để thiết lập.

Nhưng ... tại sao lại sử dụng một trang web di động ngay từ đầu? Tại sao không làm cho mẫu của bạn đáp ứng? Chuyển hướng di động hoặc như vậy 2001 ...


Cảm ơn bạn rất nhiều vì đã viết câu trả lời của bạn. Tôi hy vọng sẽ có người đọc nó sau này mà nó sẽ giúp đỡ. Trong trường hợp của tôi- Tôi có một trang web phản hồi nhưng tôi thực sự cần chuyển hướng đến www.m.mydomain.com Tôi có nhiều lý do cho điều đó - 1 là tôi có 48 sản phẩm trên trang nhất của mình và tải rất chậm trên điện thoại di động chỉ với một kết nối dữ liệu di động. 2. - Tôi có rất nhiều văn bản blah blah trên trang nhất máy tính để bàn của tôi vì SEO nhưng điều đó là không cần thiết cho điện thoại di động. Nếu bạn truy cập www.ebay.com, nó sẽ chuyển hướng đến "m.ebay.com" Tương tự với YouTube, Facebook, Twitter, LinkedIn ..
Allysin

Xem nhận xét của tôi về câu trả lời của Vlad. Một tùy chọn khác là tải danh mục sản phẩm của bạn với các yêu cầu XHR. "Blah blah blah" có thể dễ dàng bị ẩn bằng CSS (Tôi cho rằng văn bản của bạn không phải là hàng trăm kilobyte). Nhưng nếu bạn thực sự muốn đi đường chuyển hướng, tôi vẫn nghĩ bạn phải tạo một mô hình để đặt cờ trong phiên để ngăn vòng lặp chuyển hướng.
Giel Berkers

Tôi có thể thấy bạn rất thông minh với Magento. Những gì bạn nói thực sự có ý nghĩa nhưng đối với tôi thực sự rất khó để thiết lập tải danh mục với các yêu cầu XHR và thậm chí ẩn văn bản bằng CSS. Tôi cố gắng làm việc ở chế độ KISS (Keep It Simple, St ngu) càng nhiều càng tốt và thiết lập một tên miền phụ với chủ đề đáp ứng khác nhau và các sản phẩm khác nhau trên trang nhất là cách đơn giản nhất (đã hoàn thành). Tôi vẫn còn bế tắc với cách thiết lập chuyển hướng và liên kết trở lại :-( Tôi ước ai đó có thể thực hiện công thức 5 bước cho tất cả những người ngoài kia đang cố gắng thực hiện điều này
Allysin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.