Использование докладчиков в Laravel 5

Я смотрел видео Laracasts о докладчиках и хочу использовать их в своем проекте.

У меня есть страница, где я отображаю журнал активности пользователя. В цикле foreach я отображаю модель «активность». Активность использует полиморфные отношения, поэтому в зависимости от типа активности мне нужно отображать различные виды контента. Например, пользователь может отправлять электронную почту, добавлять задачи, создавать что-либо, удалять что-либо и т. Д.

В зависимости от действия я должен отображать разные значки, сам по себе разный контент (некоторые действия могут содержать ссылки, другие могут содержать что-то другое).

Когда я смотрел и читал примеры выступающих, я понимаю, что все они довольно просты и используют такие вещи, как ucfirst или форматирование даты. Тем не менее, я должен положить много логику HTML в моих докладчиков? Например, поскольку у меня разные значки для разных действий, я поставил большой переключатель, который возвращает <i> тег с соответствующим классом значков. Затем при отображении описания действия я также переключаюсь и возвращаю html, например ссылки, даже, возможно, <audio> тег.

Также это не удобно использовать HTML в докладчиках, но в то же время я хочу, чтобы мой взгляд был чистым, чтобы я мог просто выводить $activity->presenter()->description вместо много @if операторы.

Пример метода презентатора:

public function icon()
{
switch ($this->entity->type->name) {
case 'call': return '<i class="fa fa-phone activity-call-icon"></i>';
case 'visit': return '<i class="fa fa-car activity-visit-icon"></i>';
case 'email': return '<i class="fa fa-send activity-email-icon"></i>';
case 'note': return '<i class="fa fa-pencil activity-task-icon"></i>';
case 'create_checkin': return '<i class="flaticon-pin56"></i>';
default: return '<i class="fa fa-dot-circle-o"></i>';
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]