В моем MY_Controller.php, я хочу обнаружить пользовательское устройство и запрошенное доменное имя. Доменные имена, которые я использую в одном приложении: www.seeme.tld и m.seeme.tld, также я использую $this->detect(). Так вот что я сделал:Как загрузить различные виды?
<?php
if($this->detect->isMobile() || $_SERVER['HTTP_HOST'] === MOBILE_URL){
$this->config->set_item('base_url', MOBILE_URL);
}elseif(!$this->detect->isMobile() || $_SERVER['HTTP_HOST'] != MOBILE_URL){
$this->config->set_item('base_url', WEBSITE_URL);
}
?>
У меня есть 2 папки в приложении/папка просмотров: PC (для пользователей ПК) и Mobile (для мобильных пользователей) Для загрузки точки зрения, я использовал этот код в моя fetch()
функция:
public function fetch($view, $data = array, $other_vars = false)
{
if(base_url() === MOBILE_URL || $this->_ci->detect->isMobile()){
$f = 'Mobile/';
}elseif(!$this->_ci->detect->isMobile() || base_url() != MOBILE_URL){
$f = 'PC/';
}
return $this->_ci->load->view($f.'contents/'.$view, $data, true);
}
При использовании мобильного устройства или посетить m.seeme.tld с мобильным устройством, я получаю мобильный контент. Но когда я посещаю визит m.seeme.tld с ПК вместо получения мобильного контента, я скорее получаю содержимое ПК. Пожалуйста, помогите мне решить эту проблему!
Почему бы не изменить это 'elseif' на простое' else' в вашей функции 'fetch'? – Keeleon
проверить это: http://stackoverflow.com/a/4117597/2275490 – Vickel
@Vickel не смотря мобильный сценарий обнаружения. я уже использую mobiledetect.net –