我想知道在将其显示在刀片之前我可以在哪里包装信息。
事实上,在我看来,我通常使用类似的东西。
<td>{{ $computer->component->id }}</td>
<td>{{ $computer->component->price }}</td>
<td>{{ $computer->component->status->name }}</td>
好吧,它看起来很酷但是看起来很糟糕,而且我会做出例如状态,#34;更加用户友好&#34;,显示图标,具有不同的类, clor ,具体取决于状态值。
问题是,我应该在哪里这样做?在哪个档案?我可以在模型中执行此操作,但它显然不是保持MVC逻辑性并保持干净代码的好方法。
我尝试使用presenter类,但我无法在$ computer视图中调用Component Presenter,我想在其他组件中显示此状态设计。
如果您有任何想法,建议和其他逻辑,我会意识到&#34; !
答案 0 :(得分:1)
我会为你提出另一个想法,使用@include
,这是一种仅限刀片的方法。
应用程序/视图/ computer.blade.php
<td>{{ $computer->component->id }}</td>
<td>{{ $computer->component->price }}</td>
@include('partials.status', ['status' => $computer->component->status->code, 'label' => $computer->component->status->name])
应用程序/视图/分音/ status.blade.php:
<td>
<div class="{{ $status }}">
{{ $label }}
</div>
</td>
或者在这里,让您的显示更灵活。我希望这对你正在努力实现的目标来说并不太麻烦。
应用程序/视图/ computer.blade.php
<td>{{ $computer->component->id }}</td>
<td>{{ $computer->component->price }}</td>
@include('partials.status', ['status' => $computer->component->status->name])
应用程序/视图/分音/ status.blade.php:
<td>
@if($status == 'in stock')
<img src="icon-in-stock.png" /> In stock
@if($status == 'out of order')
<img src="icon-out-of-order.png" /> Out of order
<a href="/notify-me">Tell me when items are available!</a>
@endif
</td>
或者你可以混合搭配上面两个例子,例如:使<td>
的课程取决于您的状态,同时保持<td>
内的内容取决于您的partials.status
视图等。
另一种方法是在上面的例子中@include
内有另一个嵌套@if
。