現在page-front.tpl.php
を使用して、ビューにBlogコンテンツタイプを表示しています。ユーザーがモバイルデバイスを使用していて、モバイルビューにリダイレクトするか、Drupalテーマレイヤーで別のテンプレートを使用するようにする場合は、別のテンプレートを使用します。
これを行うには、モバイルデバイスからの使用であるかどうかを検出するいくつかのメソッドを設定し、その後、template.phpファイルに関数を追加してモバイルテンプレートに切り替える必要があります。
モバイル検出には、これに使用できるモジュールがいくつかありますが、この特定のユースケースでは、特定の変数を提供するため、 モバイルスイッチ をお勧めしますテーマでのテストに使用できます(モバイルツールなどの他のツールも同様ですが、これは私が以前に使用したものの1つにすぎません)。ドキュメントから:
Development with Mobile Switch.
The module provides four system variables:
1. mobile_switch_ismobiledevice
2. mobile_switch_istablet
3. mobile_switch_ismobiletheme
4. theme_mobile
ここから、この変数を使用してpreprocess_page関数を介して テンプレートの提案をテーマ に追加するだけです。例:
function YOURTHEME_preprocess_page(&$variables) {
global $mobile_switch_ismobiledevice;
if ((request_path() == 'YOUR_PATH') && $mobile_switch_ismobiledevice) {
$variables['template_file'] = 'mobile-YOURTEMPLATE';
}
}
この方法では、別のモバイルテーマを使用したい場合に、2つのテンプレートファイルを明確に切り替える必要があると想定しています。
Browscap と Mobile Switch の組み合わせを使用できるはずです。
Browscap
Browscapは、PHPのget_browser()関数の改良版を提供します。
Get_browser()関数を使用して、訪問者のブラウザが何ができるかを知ることができます[...]
モバイルスイッチ
モバイルスイッチモジュールは、BrowscapまたはMobile Detectによって検出されたモバイルデバイス用のシンプルな自動テーマスイッチ機能を提供します。
コードを通じてそれを実行したい場合(たとえば、既存の_tpl.php
_に何かを入れたい場合)、Browscapは便利な browscap_get_browser()
関数を提供しますPHP function get_browser()
の代わりとなるため、次のようなコードを実行できます(疑似コード):
_$browser = browscap_get_browser();
if ($browser == "MOBILE_BROWSER") {
print $MY_MOBILE_VIEW;
}
else {
print $MY_DESKTOP_VIEW;
}
_