@hollanditkzn

Как можно сократить код?

Я пытаюсь сделать условное форматирование для уведомление. Грубо говоря новые уведомление жирные. Но код постоянно повторяются код
if ($notification->active == 1) {
            echo '<p style="font-weight: bold;">'.Html::a($notif, ['notification', 'id' => $notification->id_zakaz]).'</p>';
        } else {
            echo '<p>'.Html::a($notif, ['notification', 'id' => $notification->id_zakaz]).'</p>';
        }

Пробовал закидывать $style = ['style' => 'font-weight: bold;'];
А при старом то пустой массив []. Но так новый добавляется a и ничего не происходит
  • Вопрос задан
  • 218 просмотров
Решения вопроса 2
Html::tag('p',Html::a($notif, ['notification', 'id' => $notification->id_zakaz]),['style'=>$notification->active == 1?'font-weight: bold;':'']);
Ответ написан
Комментировать
Austin_Powers
@Austin_Powers
Web developer (Symfony, Go, Vue.js)
$style = ($notification->active == 1) ? 'style="font-weight: bold;"' : '';
echo '<p ' . $style . '>'.Html::a($notif, ['notification', 'id' => $notification->id_zakaz]).'</p>';
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Лучше сделать хелпер и потом юзать:
echo \common\helpers\SomeMyHelper::notify($notif,$notification->active,$notification->id_zakaz);


И сам хелпер:
<?php
namespace common\helpers;

use \yii\bootstrap\Html;

class SomeMyHelper
{
    public static function notify($a, $b, $c)
    {
        return Html::tag('p',Html::a($a, ['notification', 'id' => $c]),['style'=>($b == 1)?'font-weight: bold;':'']);
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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