Поддержите проект сделав пожертвование.

Самый простой способ добавить "цветные строчки" в таблицы 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 много таких же искателей костылей для расширения стандартного функционала админки :)

имя

Babaiev Ihor

Если вы видите это, значит, я еще не придумал, что написать.

2

Вакансии

Спонсоры

Помощь в разработке вашего проекта на Laravel

Независимо от сложности проекта эти кампании помогают сообществу и всем его участникам воплощать идеи в элегантные приложения.

Присоединиться

Инструменты для управления эмоциями, которые помогают людям контролировать свою жизнь и лучше понимать себя.

Перейти

Подкасты c зажигательными эпизодами, которые заставят задуматься и приведут к новым перспективам.

Перейти