在Laravel和ViewMore按钮中创建单个产品信息页面

时间:2016-05-30 14:48:54

标签: php laravel-4

Laravel和框架中真的很新,所以请耐心等待。我正在努力学习它,我选择编写简单的索引页面,产品很少(标题,价格,图像,描述)。到目前为止一切都在那里。现在,我正在尝试在说明部分放置ViewMore按钮,当我点击按钮加载新页面时,会显示该产品的更多信息。

这是索引页面的视图,我在其中显示所有产品并希望更多地查看按钮...

@if($product['image'])
    <img class="max-150" src="{{ $product['image'] }}" alt="{{{ $product['title'] }}}" />
     <br /><br />
@endif
@if($product['description_small'])
     <p>{{ $product['description_small'] }}</p>
     <p>{{ str_limit($product['description_small'], $limit = 250, $end = '<br><br> <a href="{{ URL::to('/product/single/' . $product['product_id']) }}" class="btn btn-primary">View More</a>') }}</p> 
@endif

目前我在View More链接中出错,错误显示

  

production.ERROR:异常'Symfony \ Component \ Debug \ Exception \ FatalErrorException',消息'语法错误,意外'product_id'(T_STRING)'在...中

当我只使用href制作它时效果很好......

 <p><br><br> <a href="{{ URL::to('/product/single/' . $product['product_id']) }}" class="btn btn-primary">View More</a></p>

1 个答案:

答案 0 :(得分:1)

你在回声({{ {{ }} }})内回声。

这有效:

{{ str_limit($product['description_small'], $limit = 250, $end = '<br><br><a href="' . URL::to('/product/single/' . $product['product_id']) . '" class="btn btn-primary">View More</a>') }}

虽然我发现这段代码有点邋and且难以阅读,但更清晰的方法是:

$button = sprintf('<a href="%s" class="btn btn-primary view-more">View More</a>', URL::to('product/single/' . $product['product_id']));

echo str_limit($product['description_small'], 250, $button);

...或类似的东西(我最喜欢的):

{{ str_limit($product->description, 250) }}

@if (strlen($product->description) > 250)
    <a href="{{ URL::to('product/single/' . $product->id) }} " class="btn btn-primary view-more">View More</a>
@endif

不要使用那些令人讨厌的内联<br>代码,使用一些CSS样式.btn.view-more可以解决问题:)