@maaestr0

Нормальная ли такая практика?

Здравствуйте. У меня есть продукт и скидка на него. В карточке продукта необходимо отобразить эту скидку. Я делаю следующим образом:
<div class="courses-body__prices">
                
                    @if (!$course->discount_exists)
                        <span class="courses-body__price">
                             {{$course->price->price}}$
                        </span>
                    @else
                        <s class="courses-body__price_crossed">
                            {{$course->price->price}}$
                        </s>  
                        <span class="courses-body__price">
                            {{$course->price->price - ($course->price->price / 100 * $course->discount->first()->size_discount)}}$
                        </span>
                    @endif
    
            </div>


Нормальная ли практика писать такие большие условия в шаблоне?
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
@if ($course->discount_exists)
    <s class="courses-body__price_crossed">
        {{$course->price->price}}$
    </s>  
@endif
<span class="courses-body__price">
    {{$course->price->price_with_discount}}$
</span>


public function getPriceWithDisacountAttribute(){
    return $this->price - $this->discount;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
pLavrenov
@pLavrenov
Разработка сайтов
Защиты от дурака нет)
Если $course->discount_exists === true но $course->discount->first() нет то страница отлетит.
Ответ написан
Комментировать
vabka
@vabka
Токсичный шарпист
Моё мнение: всё ок, но вот это лучше вынести в функцию/метод:
$course->price->price - ($course->price->price / 100 * $course->discount->first()->size_discount)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы