Mobile version of site using CodeIgniter

后端 未结 4 1157
-上瘾入骨i
-上瘾入骨i 2021-01-13 22:23

What I want to do is to create a mobile version of my web site in CodeIgniter.

I want to redirect my complete web site to m.example.com

There will be no chan

相关标签:
4条回答
  • 2021-01-13 23:10

    The user agent class has a function;

    $this->agent->is_mobile();
    

    You could use this in the construct of your base controller(s) to test if mobile.

    0 讨论(0)
  • 2021-01-13 23:10

    Ok I found another solution. I used hooks pre controller and I redirect www subdomain to m subdomain.

    0 讨论(0)
  • 2021-01-13 23:11

    Instead of rewriting your code all over the place, you can just load a different view folder. In essence what will happen is you can just have CodeIgniter load a different view with the same name from another folder everytime you use $this->load->view("xxx"). First, create a new folder in your view folder called /mobile and just create views with the same exact naming conventions and it will load the the view accordingly by extending the Loader.php class.

    Whether you are doing a responsive design or if you are going to create an iPhone app looking mobile version of your site, kind of like what facebook does, then you can just override the Loader class in the core folder. In your application/core folder create a MY_Loader.php and put it in that file.

    Mine looks like the following

    <?php  if (! defined('BASEPATH')) exit('No direct script access allowed');
    
    
    class MY_Loader extends CI_Loader
    {
        //overides existing view function    
        function view($view, $vars = array(), $return = FALSE)
        {
            $CI =& get_instance();
    
            $CI->load->library("user_agent");
    
            if($CI->agent->is_mobile()){
                $view = 'mobile/'.$view;
            }
    
            return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));
        }
    }  
    
    ?>
    

    Responsive web design is a mess in my opinion, but this still separates the code for you very nicely, while still being able to use your controllers and models in unison.

    Hope this helps. This is the way I will be going about it :) !

    0 讨论(0)
  • 2021-01-13 23:28

    Why a redirection? If everything is the same, why not look into Responsive webdesign?

    24ways.org has some good articles for it:

    http://24ways.org/2012/responsive-responsive-design/
    http://24ways.org/2012/responsive-images-what-we-thought-we-needed/
    
    0 讨论(0)
提交回复
热议问题