2013-12-19 7 views
1

Может ли кто-нибудь помочь мне с тем, как я могу назвать функцию разбиения на страницы в структуре mvc?Разбиение страницы в структуре MVC

ссылки Я смотрю нравится это после того, как .htaccess сделали свое волшебство:

controller/action/id 

Перед:

index.php?controller=&action=&id= 

Что я действительно хотел бы сделать, это установка URL как

/controller/px 

Где x - любая стоимость int

мой .htaccess:

Options +FollowSymLinks 
RewriteEngine on 

RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controller=$1&action=$2&id=$3 [NC,L,QSA] 

Я надеюсь на некоторую помощь или какой-либо указатель любого типа будет хорошо.

+0

Как вы хотите переписать '/ контроллер/px' внутри? – anubhava

+0

MVC не имеет ничего общего с тем, как вы создаете свои URI – PeeHaa

+0

, как будто у меня есть главная страница с кучей новостей об этом ... и я хочу, чтобы у вас была возможность добавить к ней страницы как/home <- это моя главная страница ... но если я перейду в/home/view, например, это приведет к захвату моего действия в домашнем контроллере. мой вопрос действительно не в том, где можно сделать разбиение на страницы, не сказав/home/view/1/p2 ?? – Cruelcrome

ответ

1

Вы можете добавить это правило до вашего существующего правила:

RewriteRule ^([a-zA-Z]+)/([0-9]+)/?$ index.php?controller=$1&action=&id=&p=$2 [L,QSA] 
+0

спасибо, что это сработало :) – Cruelcrome

+0

Добро пожаловать, рад, что это сработало. – anubhava

0
for htaceess file: 

    <IfModule mod_rewrite.c> 
     RewriteEngine On 
     RewriteBase /your_folder_name/ 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteRule ^(.*)$ index.php?/$1 [L] 
    </IfModule> 

    <IfModule !mod_rewrite.c> 
     # If we don't have mod_rewrite installed, all 404's 
     # can be sent to index.php, and everything works as normal. 
     # Submitted by: ElliotHaughin 

     ErrorDocument 404 /index.php 
    </IfModule> 

Replace your_folder_name on the third line with your folder name. 

if its code ignitor, you need to make some changes in application/config/config.php 
change the following lines as below 

$config['index_page'] = ''; 
$config['uri_protocol'] = 'REQUEST_URI'; 

also in autoload in application/config/autoload.php, change to the following line 

$autoload['helper'] = array('url'); 

In Controller 

$this->load->library('Pagination'); 
$config['base_url']=base_url().'controller/function'; 
$config['total_rows']=$data_count; 
$config['per_page']=1; 
$config['num_links']=2; 
$this->pagination->initialize($config); 

While fetching data from database use uri segment and $config['per_page'] as limits 

In View 

to get the pagination links 

echo $this->pagination->create_links(); 
Смежные вопросы