引用:
$deviceの中身をDEVICE_TYPE_SMARTPHONEに差し替えて、解決するなんていう芸当はできないものでしょうか?
以下方法でも、、、なんとなく、動いた様ですが。。。(if文内の条件式がかなり怪しい、、、のは「気のせい?」)
data/class/SC_Display.php
/**
* デバイス毎の出力方法を自動で変更する、ファサード
* Enter description here ...
*/
function setDevice($device = DEVICE_TYPE_PC) {
switch ($device) {
case DEVICE_TYPE_MOBILE:
if (USE_MOBILE === false) {
exit;
}
$this->response->setContentType('text/html');
$this->setView(new SC_MobileView_Ex());
break;
case DEVICE_TYPE_SMARTPHONE:
if ($_SERVER["REQUEST_URI"] == "/cart/" || substr($_SERVER["REQUEST_URI"],0,10) == "/shopping/") {
$this->setView(new SC_SmartphoneView_Ex());
} else {
$this->setView(new SC_SiteView_Ex());
}
break;
case DEVICE_TYPE_PC:
$this->setView(new SC_SiteView_Ex());
break;
case DEVICE_TYPE_ADMIN:
$this->setView(new SC_AdminView_Ex());
}
$this->deviceSeted = true;
}
/**
* 端末種別を判別する。
*
* SC_Display::MOBILE = ガラケー = 1
* SC_Display::SMARTPHONE = スマホ = 2
* SC_Display::PC = PC = 10
*
* @static
* @param $reset boolean
* @return integer 端末種別ID
*/
public static function detectDevice($reset = FALSE) {
if (is_null(SC_Display_Ex::$device) || $reset) {
$nu = new Net_UserAgent_Mobile();
$su = new SC_SmartphoneUserAgent_Ex();
if ($nu->isMobile()) {
SC_Display_Ex::$device = DEVICE_TYPE_MOBILE;
} elseif ($su->isSmartphone()) {
if ($_SERVER["REQUEST_URI"] == "/cart/" || substr($_SERVER["REQUEST_URI"],0,10) == "/shopping/") {
SC_Display_Ex::$device = DEVICE_TYPE_SMARTPHONE;
} else {
SC_Display_Ex::$device = DEVICE_TYPE_PC;
}
} else {
SC_Display_Ex::$device = DEVICE_TYPE_PC;
}
}
return SC_Display_Ex::$device;
}
#自分用のiPod touch 5th geted...(^^)V