Для этого нет строгого правила. Вы можете структурировать ваши файлы представления так, как вам нравится, и вызвать $this->load->view()
, чтобы загрузить разные файлы представления для разных результатов в вашем контроллере. Исходя из моего опыта, CodeIgniter очень открыто адаптируется к тому, как вы организуете файлы вашего приложения.
В вашем примере, возможно, я бы разделил мою папку system/application/views
на две подпапки: main
для настольных браузеров и mobile
для мобильных браузеров:
system/
application/
views/
main/
index.php
some_page.php
...
mobile/
index.php
some_page.php
...
В ранней части вашего контроллера, скажем, конструктора, вы можете решить, какой пользовательский агент запрашивает его, и затем выбрать main
или mobile
на основе этого, а затем показать свои представления соответственно действиям вашего контроллера. *
Несколько быстрых фрагментов кода, чтобы дать вам лучшее представление, поскольку вы новичок ...
// Place this just below the controller class definition
var $view_type = 'main';
// Controller constructor
function MyController()
{
parent::Controller();
if ($this->agent->is_mobile())
{
$this->view_type = 'mobile';
}
else
{
$this->view_type = 'main';
}
}
// Example action
function some_page()
{
// ...
// This comes from the 'var $view_type;' line above
$this->load->view($this->view_type . '/some_page');
}
И некоторые полезные ссылки для вас:
Надеюсь, мое объяснение поможет, и надеюсь, вам понравится CodeIgniter:)