Нужно использовать Codeigniter Class с ядром php - PullRequest
0 голосов
/ 17 января 2012

Достаточно долго я использовал codeignter, его классы действительно хороши, просты и полезны.
Я пытаюсь интегрировать Класс разбиения на страницы в мою пользовательскую среду php, которая находится в / base / systemПапка / library установки CI, прежде чем я успешно интегрировал класс Table для создания динамических таблиц с данными php в моей работе.
Здесь я сталкиваюсь с проблемой с $CI =& get_instance(); в /base/system/libraries/Pagination.php, котораяполучает экземпляр в controller.php.И это ошибка генерации, потому что я использую не весь контроллер, а только его классы.
Есть ли какое-либо решение, с помощью которого я могу использовать класс Pagination без get_instance ().

Ответы [ 2 ]

1 голос
/ 17 января 2012
    $CI =& get_instance();

    if ($CI->config->item('enable_query_strings') === TRUE OR $this->page_query_string === TRUE)
    {
        if ($CI->input->get($this->query_string_segment) != $base_page)
        {
            $this->cur_page = $CI->input->get($this->query_string_segment);

            // Prep the current page - no funny business!
            $this->cur_page = (int) $this->cur_page;
        }
    }
    else
    {
        if ($CI->uri->segment($this->uri_segment) != $base_page)
        {
            $this->cur_page = $CI->uri->segment($this->uri_segment);

            // Prep the current page - no funny business!
            $this->cur_page = (int) $this->cur_page;
        }
    }

с

    if(isset($_GET['cur_page'])){
        $this->cur_page = $_GET['cur_page'];
    }else{
        $this->cur_page = 1;
    }

&

if ($CI->config->item('enable_query_strings') === TRUE OR $this->page_query_string === TRUE)
        {
            $this->base_url = rtrim($this->base_url).'&'.$this->query_string_segment.'=';
        }
        else
        {
            $this->base_url = rtrim($this->base_url, '/') .'/';
        }

удалите это.

Называй как,

include_once(LIB_DIR.'/pagination.class.php');
$pagination = new Pagination();

$config['base_url'] = 'http://testme.com/stats.php?cur_page=';
$config['total_rows'] = 200;
$config['per_page'] = 20;

$pagination->initialize($config);

echo $pagination->create_links();
0 голосов
/ 17 января 2012

Класс пагинации не сильно зависит от CI.Вы можете просто переписать его немного, чтобы найти и заменить все ссылки на «внешние» правильными данными, которые он пытается выделить.Тогда Pagination будет работать без какого-либо взаимодействия с CI, и вы сможете использовать его в своей среде.

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