CI контроллер для загрузки страниц в iframe - PullRequest
0 голосов
/ 12 декабря 2011

Я хочу внедрить новый модуль в сайт, который сделан с помощью CI. Я абсолютный новичок в CI, и я не могу понять, как создать контроллер и файлы просмотра. Мне нужно, чтобы новый контент загружался в iframe на текущем сайте. Пока что у меня есть:

Контроллер:

class Module extends Controller {

    function __construct() {
            parent::Controller();

    }

    function index() {
            $this->common->loadView('module/module');
    }
}

вид:

<iframe src="/new_module/index.php" width="100%" height="100%" scrolling="NO" frameborder="0" >An iframe capable browser is required to view this web site.</iframe>

Маршрут:

$route['module/(:any)'] = "module/$1";

структура сайта:

resources/
system/
....
new_module/
new_module/index.php
new_module/page1.php
new_module/page2.php

Ссылки должны быть:

http://mydomain.com/module/page1
http://mydomain.com/module/page2

Ссылка находится за пределами iframe, и содержимое должно загружаться внутри iframe. Таким образом, iframe src должен изменяться динамически.

Очевидно, это не работает. Может ли кто-то с большим опытом работы с CI сказать мне, как это должно быть сделано?

Спасибо!

1 Ответ

0 голосов
/ 12 декабря 2011

Для динамического изменения фрейма просто установите цель ссылки на iframe:

<a href="/pages/page/1" target="targetFrame">Page 1</a>
<iframe id="targetFrame" src="" width="100%" height="100%" scrolling="NO" frameborder="0" ></iframe>  

Как я понимаю, по умолчанию в Codeigniter нет "модулей". Это если вы не используете CMS или что-то подобное, построенное поверх CI, в этом случае вам нужно будет указать это.

В противном случае, просто используйте контроллеры правильно, чтобы получить то, что вы хотите.

class Pages extends Controller{

    public function page($id='')
    {
        switch $id{
            case 1:
                $data['pageData']='foo';
            break;
            ...
        }
        $this->load->view('page_view',$data);
    }
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...