Laravel 4 Pagination bug with Twitter Bootstrap 3

2019-03-27 16:30发布

问题:

When using Laravel Pagination, I believe that the css classes generated are relevant to bootstrap 2 and not bootstrap 3.

{{ $products->links() }} generates

<div class="pagination">
    <ul>
        <?php echo $presenter->render(); ?>
    </ul>
</div>

However I would like it to generate:

    <ul class="pagination">
        <?php echo $presenter->render(); ?>
    </ul>

Without changing the framework code laravel/framework/src/illuminate/pagination/views/slider.php, is there a better / proper way of overriding the CSS / code generated by {{ $products->links() }}?

回答1:

I saw something in one of the latest update, I haven't tried but it looks like all you have do do is change:

'pagination' => 'pagination::slider',

In the view config to:

'pagination' => 'pagination::slider-3',

This then uses:

https://github.com/laravel/framework/blob/master/src/Illuminate/Pagination/views/slider-3.php



回答2:

Yes you can :) edit /app/config/view.php to specify the pagination value:

<?php
return array(
    'paths' => array(__DIR__.'/../views'),
    'pagination' => 'elements/pagination',
);

after that, create a view/elements/pagination.php, and put + modify the content of the following file: https://github.com/laravel/framework/blob/master/src/Illuminate/Pagination/views/slider.php



回答3:

There is an update as said by "crynobone" on laravel forum.

4.0.*@dev (to be released as 4.0.8) now include a new view for bootstrap 3. Follow this step to have it as default

http://forums.laravel.io/viewtopic.php?id=13256