Самый простой способ добавить "цветные строчки" в таблицы Orchid бесплатно без регистрации и смс
На одном из проектов заказчику очень понадобилось цветное выделение строк в таблице при выполнении различных условий, например, если неоплаченная сумма заказа больше нуля, или если заказ не был обработан администратором.
Руки чесались расширить функционал таблиц дополнительным методом, в который будут вписаны условия и цвет для выделения при выполнении условия, но нашелся максимально быстрый способ сделать это за 5 минут.
Так как таблицы в orchid можно вынести из класса Screen в отдельный класс Table, достаточно просто переопределить в классе свойство $template и создать для таблицы дополнительный шаблон в resources. Шаблон полностью копирует шаблон таблицы из vendor.
<?php
namespace App\Orchid\Layouts\Table;
class OrderList extends Table
{
/**
* Data source.
*
* The name of the key to fetch it from the query.
* The results of which will be elements of the table.
*
* @var string
*/
protected $target = 'orders';
protected $template = 'orchid.table.order';
/**
* Get the table cells to be displayed.
*
* @return TD[]
*/
protected function columns(): iterable
{
return [];
}
}
И теперь в шаблоне мы может вписать любые условия для таблицы заказов, используя директиву @class:
@foreach($rows as $source)
<tr @class(['table-success' => $source->completed])>
@foreach($columns as $column)
{!! $column->buildTd($source, $loop->parent) !!}
@endforeach
</tr>
@endforeach
Готово! На созвоне говорим, что такого функционала нет в админке, которая используется на проекте, тратим пять минут, трекаем три часа и в свободное время играем в шахматы.
p.s пишу этот пост скорее, чтобы не изобретать заново свой гениальный костыль, если понадобится снова через пол года, но надеюсь, что кому-то может быть полезно, потому что в чате Orchid много таких же искателей костылей для расширения стандартного функционала админки :)