Friday 01 June 2012 2:52:05 pm - 6 replies
Hello everyone;
I would like to know what is the best way for detecting the devices.
I have a javascript code:
<script type="text/javascript"><!--if (screen.width <= 699) {document.location = "MY-MOBILE-SITE.com";}//--></script>
<script type="text/javascript"><!--if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) { location.replace("http://MY-MOBILE-SITE.com");}--></script>
but i dont know if i should put it in my the pagelayout.tpl or in my index.php?
If this is not the best way, can you help me to find the best solution for it?
cheers
Friday 01 June 2012 3:46:55 pm
Salut,I give you this link that deals with redirection, http://stackoverflow.com/questions/4617638/detect-ipad-users-using-jquery
to your question you can do the tests on your pagelayout either on the page or you want to do the redirect (. dwt)
Saturday 02 June 2012 5:16:06 pm
If you are using 2012.01 or later, or the 4.7 Enterprise version, there is some functionality built in to eZ Publish:
https://github.com/ezsystems/ezpublish/commit/a695d9d6b5ec3fd346054132863ee9bd2315aa6f
Specifically, it is managed in site.ini:
https://github.com/ezsystems/ezpublish/blob/master/settings/site.ini#L778
And executed in index.php:
https://github.com/ezsystems/ezpublish/blob/master/index.php#L347
Monday 04 June 2012 9:38:22 am
In order to not have overhead on (at least the first pageload) we use a different approach:
Apache browser detect (search the internet for "mobile detect .htaccess" ) and two siteaccesses.
Example (we doe for a few languages):
en <-- normal version
mobileen <-- Mobile version
forceen <-- a virtual siteaccess that people can use to break out of the mobile version (only analyzed by Apache telling it to not check for mobile versions and use the standard en via a rewrite rule).
-David
Modified on Monday 04 June 2012 2:15:30 pm by David Ennis
Monday 04 June 2012 12:28:44 pm
Thank you everyone very much for your response,
Peter Keung I tried to use your code but i found a folder which called test and tests and i didnt know if i should add them manually? i was confiused?
if i create a file config.php and put this code into it would it be correct?
<span style="color: #000000;"> <span style="color: #0000bb;"></span><span style="color: #007700;">if (</span><span style="color: #0000bb;">$version </span><span style="color: #007700;">!= </span><span style="color: #dd0000;">"desktop"</span><span style="color: #007700;">) {
</span><span style="color: #0000bb;">$useragent</span><span style="color: #007700;">=</span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'HTTP_USER_AGENT'</span><span style="color: #007700;">];
if(</span><span style="color: #0000bb;">preg_match</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i'</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$useragent</span><span style="color: #007700;">)||</span><span style="color: #0000bb;">preg_match</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'/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|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|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|xda(\-|2|g)|yas\-|your|zeto|zte\-/i'</span><span style="color: #007700;">,</span><span style="color: #0000bb;">substr</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$useragent</span><span style="color: #007700;">,</span><span style="color: #0000bb;">0</span><span style="color: #007700;">,</span><span style="color: #0000bb;">4</span><span style="color: #007700;">)))
</span><span style="color: #0000bb;">header</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'Location: http://sub.domain.com'</span><span style="color: #007700;">);
} </span></span>
Modified on Monday 04 June 2012 2:14:45 pm by ray lab
You must be logged in to post messages in this topic!