Fiz uma frente de loja especial para uma versão móvel do meu site. Como redirecionar dispositivos móveis para lá e também vincular ao site de desktop?


7

Configurei uma frente / loja móvel especial em um subdomínio - www.m.meudominio.com de acordo com este tutorial .

Eu colocaria esse código nos scripts Diversos para fazer o sistema detectar que um cliente está se conectando a partir de um dispositivo móvel e encaminhar o tráfego para www.m.mydomain.com :

Eu tenho uma loja móvel responsiva especial no m.MYdomain.com - como fazer o Magento detectar dispositivos móveis e encaminhar o tráfego para o m.Mydomain.com?

Mas agora estou pensando que uma solução melhor pode ser apenas alterando o .htaccessarquivo, conforme explicado aqui .

Mas eu não entendo onde colocar esse código? Além disso - esse post é de 2010. Existe algo mais novo para acompanhar, dado o desenvolvimento nos dispositivos móveis e tablets?

Também preciso colocar um botão grande no site móvel (em www.m.meudominio.com.br ) que redirecione os clientes para a versão para desktop do site ( www.meudominio.com.br ), se assim o desejar. Qual o melhor jeito pra fazer isso?

Quero dizer - como isso pode funcionar? Não ficará preso em um loop? Quando o cliente clica no botão que o envia para www.mydomain.com , o script não detecta mais uma vez que é um dispositivo móvel e transfere o tráfego de volta para www.m.mydomain.com ? Eu li sobre fazê-lo com cookies, mas como exatamente? E como eu configuraria esse botão?

Estou procurando uma solução simples como em: pegue esse código e coloque-o aqui. Mude este código aqui e pronto! : o)

No meu exemplo, meu site de área de trabalho é: www.meudominio.com.br e meu celular é: www.m.meudominio.com.br, enquanto o nome da minha loja e a frente da loja são: meudomínio.com e o nome da minha loja móvel e o nome da frente é : mmydomaincom


Atualizado em 12 de dezembro:

Por favor, não me diga para carregar um tema diferente. Eu já tenho um bom tema responsivo! Este não é o problema. O motivo pelo qual eu quero redirecionar para o meu site para celular (localizado em www.m.mysite.com) é que tenho cerca de 50 produtos na página inicial da área de trabalho e muitas coisas (como texto colocado pela empresa de SEO) que estão apenas ocupando espaço e não preciso exibir essa confusão em dispositivos móveis. Penso que encomendar num dispositivo móvel deve ser rápido e fácil, sem lixo desnecessário. Dito isto - não estou tentando reinventar a roda aqui. Eu preciso de 2 coisas.

1. Detecte o dispositivo móvel e, se for o caso, carregue www.m.mysite.com em vez de www.mysite.com

2. Adicione um botão para pessoas que, por qualquer motivo (talvez estejam conectadas a uma conexão Wi-Fi rápida), decidam que desejam a versão para desktop e a fazem funcionar quando clicam nele para exibir www.mysite.com

Se você acessar o site www.ebay.com no seu celular, ele será redirecionado para "m.ebay.com". O mesmo acontece com o YouTube, Facebook, Twitter, LinkedIn ... Portanto, não me diga que essa é uma abordagem para a velhice. Se essas empresas multibilionárias estão fazendo isso - há alguma lógica por trás disso ....


stackoverflow.com/questions/3680463/… wpandsuch.com/… Você precisa definir Cookie & Flag para que funcione. U também pode se referir a Magento padrão .htaccessque já oferece
Ankit Shah

Oi @ Allysin Por favor, compartilhe a solução deste link que eu forneci.
Ankit Shah

Respostas:


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');

?>

no local do cabeçalho, você especifica o URL da loja do dispositivo móvel


Este parece ser bom. Coloco esse código no arquivo .htaccess? E como você lidaria com o redirecionamento de volta para a versão Full Desktop quando o cliente clica em um botão para fazer isso?
Allysin

você wil redirecionar para versão desktop quando o usuário clicar no botão
Jigs Parmar

e esse código não é usado no arquivo .htaccess. você colocou esse código no arquivo de cabeçalho
Jigs Parmar

0

você deve adicionar exceções para os dispositivos móveis. Navegue para o Magento administrative area -> System -> Configuration -> Design -> Themes. Clique nos botões Adicionar exceções ao lado dos rótulos Modelos, Capa e Layout.

E para as exceções correspondentes, adicione **iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini**

Esta solução pressupõe que você tenha um tema personalizado diferente para a loja móvel


Correto, mas isso não explica a questão de os clientes poderem mostrar o site para computador em seus dispositivos móveis, se assim o desejarem, porque simplesmente os redirecionaria de volta ao site para celular.
Giel Berkers

@ Vlad Patru Eu já tenho um tema responsivo. Não estou tentando redirecionar para um tema diferente. Preciso redirecionar para a frente da minha loja móvel = www.m.mysite.com Se for bom o suficiente para empresas como eBay, YouTube, Facebook, Twitter, LinkedIn, será bom o suficiente para mim. Sem mencionar que tenho muitos produtos na página inicial da área de trabalho e muito texto desnecessário (SEO); no meu site para dispositivos móveis, tenho apenas 12 produtos e nenhum texto inútil. Não posso acreditar que em 2016 é tão difícil de detectar um dispositivo móvel, redirecionamento para www.m.mysite.com e colocar um botão lá para voltar para a versão desktop
Allysin

Não é difícil detectar um dispositivo móvel. Mas cuidado com os efeitos colaterais: a verificação de 'Android' também corresponde a tablets Android que são totalmente capazes de mostrar a variante da área de trabalho. Você não pode detectar a resolução do lado do servidor. Mas se o seu problema é apenas muitos, muitos produtos, por que não carregar o bloco do produto com uma solicitação XHR. Como isso é feito com JavaScript, você pode detectar a resolução e determinar se deseja carregar um conjunto grande ou pequeno.
Giel Berkers

0

Primeiro, o link que você forneceu é para configurar uma loja multisite / multi. Por exemplo, quando você possui um site em vários idiomas; ele detecta padrões no nome do domínio e define o código de armazenamento adequado, se definido.

Para responder à sua segunda pergunta: O .htaccesscódigo de 2010 ainda deve funcionar. Ainda não o testei, mas nada mais é do que verificar o agente do usuário em relação a uma expressão regular e nada mudou muito desde então.

Então você pode usar o segundo exemplo para definir o redirecionamento. No entanto, você deseja redirecionar de volta para o site, ignorando efetivamente a .htaccessregra-.

Eu acho que sua melhor aposta pode ser não usar a .htaccessregra-, mas deixar o Magento manipular o redirecionamento de acordo com o agente do usuário. Veja este artigo sobre como configurar isso.

O segundo desafio que você tem é fazer o Magento ignorar esse redirecionamento se alguém escolher explicitamente o link em um desses dispositivos móveis. Eu acho que você pode lidar melhor com isso rastreando o código no Magento que lida com o redirecionamento e criando um módulo que reescreve esse código (ou se você tiver sorte, há um evento para isso). No seu módulo, você pode verificar se há um sinalizador no seu URL (como ?noredirectalgo assim) e adicionar um sinalizador à sessão do usuário para que nunca acione o redirecionamento.

Portanto, não, não há uma 'solução de linha única' para o que você está tentando alcançar, mas se você sabe como usar o Magento, não é uma tarefa muito difícil de configurar.

Mas ... por que usar um site para celular em primeiro lugar? Por que não tornar seu modelo responsivo? Redirecionamentos para dispositivos móveis em 2001 ...


Muito obrigado por escrever sua resposta. Espero que haja pessoas lendo isso mais tarde, sobre quem isso ajudará. No meu caso, eu tenho um site responsivo, mas preciso redirecionar para www.m.mydomain.com Tenho muitas razões para isso - 1 é que tenho 48 produtos em minha página inicial e carrega extremamente devagar em um telefone celular com apenas uma conexão de dados móvel. 2. - Tenho muito texto blá blá na página inicial da minha área de trabalho por causa do SEO, mas isso NÃO é necessário para o celular. Se você acessar o site www.ebay.com, ele será redirecionado para "m.ebay.com". Igual ao YouTube, Facebook, Twitter, LinkedIn ..
Allysin

Veja meu comentário sobre a resposta de Vlad. Outra opção é carregar o catálogo de produtos com solicitações XHR. "Blá, blá, blá" pode ser facilmente oculto com CSS (suponho que seu texto não tenha centenas de kilobytes). Mas se você realmente quiser seguir o caminho de redirecionamento, ainda acho que você precisa criar um modelo para definir um sinalizador na sessão para evitar um loop de redirecionamento.
Giel Berkers

Eu posso ver que você é muito inteligente com o Magento. O que você diz realmente faz sentido, mas para mim seria realmente difícil configurar o carregamento do catálogo com solicitações XHR e até ocultar texto com CSS. Tento trabalhar no modo KISS (Keep It Simple, Stupid), tanto quanto possível, e configurar um subdomínio com um tema responsivo diferente e produtos diferentes na primeira página é a maneira mais simples de fazer (já está feito). Ainda estou preso a como configurar o redirecionamento e o link de volta :-( Desejo que alguém possa fazer uma receita de 5?
Etapas
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.