Отправка нескольких данных в представления Codeigniter - PullRequest
2 голосов
/ 18 декабря 2011

Я хочу использовать плагин ckeditor и пагинацию в своем приложении; но есть проблема.

Если я загружаю данные пагинации, ckeditor не работает. Если я загружаю данные ckeditor, нумерация страниц не работает.

$data['pagination']=$this->pagination->create_links(); $data['ckeditor']=$this->data;

$this->load->view('index', $data); // pagination

В index.php я могу написать echo $pagination, но я не могу использовать $ckeditor, потому что он используется следующим образом:

<?php echo display_ckeditor($ckeditor); ?>

Это контроллер ckeditor

Ответы [ 3 ]

3 голосов
/ 27 марта 2012

по крайней мере, я решил проблему.но вы не можете отправить несколько данных для просмотра, как я сделал.

вам нужно сделать это:

    $this->data['page_links']=$this->pagination->create_links();
    $this->load->view('admin/index',$this->data);

я сделал ckeditor в конструкции, чтобы я мог использовать его везде.

    $this->data['ckeditor'] = array(

        //ID of the textarea that will be replaced
        'id'    =>  'content',
        'path'  =>  'js/ckeditor',

        //Optionnal values
        'config' => array(
            'toolbar'   =>  "Full",     //Using the Full toolbar
            'width'     =>  "750px",    //Setting a custom width
            'height'    =>  '100px',    //Setting a custom height

        ),

        //Replacing styles from the "Styles tool"
        'styles' => array(

            //Creating a new style named "style 1"
            'style 1' => array (
                'name'      =>  'Blue Title',
                'element'   =>  'h2',
                'styles' => array(
                    'color'             =>  'Blue',
                    'font-weight'       =>  'bold'
                )
            ),

            //Creating a new style named "style 2"
            'style 2' => array (
                'name'      =>  'Red Title',
                'element'   =>  'h2',
                'styles' => array(
                    'color'             =>  'Red',
                    'font-weight'       =>  'bold',
                    'text-decoration'   =>  'underline'
                )
            )               
        )
    );
0 голосов
/ 18 декабря 2011

Контроллер

$this->load->view('index', array(
    'pagination'    =>   $this->pagination->create_links(),
    'ckeditor'    =>  $this->data
));

Вид

display_ckeditor(array($ckeditor));

Редактировать: я все еще в замешательствеубедитесь, что вы правильно настроили пагинацию, $ this-> pagination-> create_links () не является волшебной функцией, вам нужно настроить пагинацию на основе контроллера.прочтите руководство или посмотрите мой пример.

public function index($offset=0){

$limit = $this->config->item('tbl_rows_returned');

//find pages based on limits and offset
$pages = Page::find('all', 
            array('limit' => $limit, 'offset' => $offset, 'order' => 'created_at desc')
);
//count total pages
$count = Page::count();

//init pagination attributes
$config = array(
        'base_url' => site_url('admin/pages'),
        'total_rows' => $count,
        'per_page' => $limit,
        'uri_segment' => 3
    );
$this->pagination->initialize($config); 

//load the view and pagination data
$this->load->view('templates/admin', array(
        'content'  =>  'pages/admin/_index',
        'pagination'  =>  $this->pagination->create_links(),
        'pages'  =>  $pages
));

}

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

Вы должны отправить их массив в представление

$arrToView['ckeditor'] = $ckEditorData;
$arrToView['pagination'] = $paginationData;   
$this->load->view('index', $arrToView); 

Надеюсь, это то, что вы пытаетесь сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...