Laravel 5 Pagination CSS Breaking

时间:2015-04-12 19:20:14

标签: php css laravel twitter-bootstrap-3 laravel-5

我正在使用Laravel 5和Bootstrap 3.3.4

所以我的控制器中有以下代码:

$articles = Newsarticles::paginate(10);
return view ('news',compact('articles');

然后在我看来,我有:

@foreach($articles as $article)

<article>
    <h2>
        <a href="{!! action('DynamicPages@show', [$article->slug]) !!}">{!! $article->headline !!}</a>
    </h2>
    <div class="body">
        {!! substr($article->article,0,500) !!}
    </div>
</article>

@endforeach

{!! $articles->render() !!}

当我运行它时,页面底部的分页链接就会很好,并且看起来应该这样做。但是,如果我将控制器更改为:

$articles = Newsarticles::orderBy('artdate','DESC')->paginate(10);

我的分页链接如下:

«
1
2
3
4
5
6
»

代码中的一个小调整如何打破css?

4 个答案:

答案 0 :(得分:1)

没有转义标签,而且打开的HTML标签正在杀掉css。感谢@minioz指出它

答案 1 :(得分:1)

根据我上面的评论。

问题是破解的html标签。这是因为在这一行使用了substr()。

{!! substr($article->article,0,500) !!}

该功能将删除部分$article->article并打开一些标签。

要解决问题,您需要在执行substr()

之前删除标记
{!! substr(strip_tags($article->article),0,500) !!}

答案 2 :(得分:0)

使用substr($ article-&gt;文章,0,500),您可能会破解HTML代码。

您还可以拥有不同数量的可行字符

p>hello</p>

12个字符

<stong>hello</strong>

21个字符。

并注意这一点:

echo substring('<p>hello</p>', 5);

写道:&#34;

他&#34;。 Breack html结果。

尝试

substr(strip_tags($article->article,0,500))

在剪切字符串之前删除所有html标签。这不会破坏你当前的HTML,你将获得正确的字符长度。

答案 3 :(得分:0)

没有足够的信息可以回答 - 但三大可能性是

  1. 不知何故,你在每个例子中呈现不同的HTML

  2. 页面上的其他CSS不是防弹的,它会根据标题和内容长度创建不同的容器包装

  3. $article->article$article->slug$article->headline中的HTML内容包含打开布局的未关闭标记(或干扰页面CSS的意外标记/样式/类)

  4. 制作不同请求页面的原始页面源(View - &gt; Developer - &gt; View Source in Chrome)的副本,然后通过diff程序(CLI diff,WinMerge, opendiff等)发现任何渲染差异。

    假设没有,请调查每个内容区域以查找损坏的标签,然后开始使用不同的长度标题和文本正文区域填充布局,直到触发问题,然后从那里修复CSS。

    祝你好运!