MODxでスマホ振り分け

だいぶ本体のバージョンも上がってきているので、現時点でのスマホ振り分けを簡単に実装する方法はないか、というやり取りを行ったまとめです。 ・MODxで新規サイトを作成 ・運営が楽になるように、記事を追加すると更新履歴に自動に新着情報が追加される(PC・スマホページ両方に1個の更新で反映されるのが望ましい)→RWDあるいはcssやレイアウトを振り分けるなどして、同じURLだけどデバイスにより表示が変化する、という形が良い とわりとありがちな条件を想定。
0
アルム=バンド @Bredtn_1et

@_so4 ちょっと質問してもよろしいでしょうか?MODxで新規に企業用サイトを作成する場合、スマホにも対応しようと思ったら、現状ではどのような手法が楽でしょうか? レスポンシブデザインでリソースは共通にして、テンプレートを切り替えるプラグインを導入する感じでしょうか?

2014-11-27 20:26:11
soushi (・゚∠)ばなな @_so4

@Bredtn_1et RWDにしてしまえば、PC/スマホともに共通化できるので切り替えの考慮はなくても良さそうです。逆にPC/スマホとテンプレート分ける場合は切り替えのプラグインを入れる案も出てきます。

2014-11-27 20:44:46
soushi (・゚∠)ばなな @_so4

@Bredtn_1et ただもっと単純に考えると「スマホの時は/sp/にリダイレクト」という動きをいれて完全にリソースを分ける方法もあります。こっちは構成的にはシンプルになると思います。

2014-11-27 20:46:24
アルム=バンド @Bredtn_1et

@_so4 それも考えたのですが、新着一覧からPCのページとスマホページへのリンクを振り分けないといけないので、そのあたりをどうしたら良いものか、と考えてしまい…。PCとスマホのページ(ファイル)が綺麗に対応していないし…と。

2014-11-27 20:54:16
soushi (・゚∠)ばなな @_so4

@Bredtn_1et なるほど…完全に別ページとして割り切れない場合はRWDかテンプレ切り替えになりますね。以前MobileConverterなるテンプレ切替の拡張を作ってますが、最近手入れしてないので最新のMODXで動くかは…要確認にはなります。

2014-11-27 21:19:36
ɐɯɐʎ @3__3

@_so4 @Bredtn_1et 最新のevoだとOnLoadDocumentObjectでテンプレートを切り替えることができてキャッシュもデバイスごとに生成するのでMobileConverter相当のプラグインを作るのは簡単かも?

2014-11-27 22:00:04
ɐɯɐʎ @3__3

@_so4 @Bredtn_1et if(strpos($_SERVER['HTTP_USER_AGENT'],'iPhone')!==false) $modx->documentObject['template']=xxx をOnLoadDocumentObjectにフック

2014-11-27 22:02:40
アルム=バンド @Bredtn_1et

@3__3 @_so4 なるほど…その直前にsessionStorageとかcookie使ってスマホでもPC版見たい、とか処理を挟んでやればそれっぽくなりそうですね。ありがとうございます。

2014-11-27 22:15:29
ɐɯɐʎ @3__3

@Bredtn_1et @_so4 スマホ・PCを行き来するリンク(またはボタン)はスニペットで作れますね

2014-11-27 22:27:23
ɐɯɐʎ @3__3

@Bredtn_1et @_so4 プラグインとの合わせ技になります。$_SESSION['device']='PCサイトを見たいiPhone' みたいなセッションをスニペットに張らせてプラグインで判定させるとよいと思います

2014-11-27 22:31:29
ɐɯɐʎ @3__3

@Bredtn_1et @_so4 スニペットは、page.html?device=pcとかを見てスイッチさせる作りにします

2014-11-27 22:34:51
アルム=バンド @Bredtn_1et

@3__3 @_so4 保持しているセッションでとちらのサイトを表示させるか振り分けるのですね。

2014-11-27 22:34:59
ɐɯɐʎ @3__3

@Bredtn_1et @_so4 です。プラグインの最初のほうでif(!isset($_SESSION['device'])) $_SESSION['device'] = xxxxx というふうに初期化すれば、セッションだけで判定できるのでシンプルかも

2014-11-27 22:37:38
アルム=バンド @Bredtn_1et

@3__3 @_so4 確かに。簡単なコードで実装できそうですね。しかもその振り分けのフラグをクライアントが持ち歩いてくれれば新着情報ページからのリンクを切り替えるのにも使えそうですね。

2014-11-27 22:40:06
soushi (・゚∠)ばなな @_so4

@3__3 おお。いつの間にかテンプレートの切り替えが簡単になってますね。MobileConverterも今の仕様に合わせていきたいですね…モバコンも中で色々ややこしい事してましたし。

2014-11-28 01:28:11