File: D:/HostingSpaces/SBogers10/momsecurity.komma.nl/app/Components/Types/Services.php
<?php
namespace App\Components\Types;
use App\Components\ComponentTypes;
use App\Services\Models\Service;
use App\Testimonials\Models\Testimonial;
use Komma\KMS\Components\Component\ViewComponent;
use Komma\KMS\Components\ComponentType\Types\AbstractComponentType;
use Komma\KMS\Core\Attributes\MultiSelect;
use Komma\KMS\Core\Attributes\Seperator;
use Komma\KMS\Core\Attributes\TextArea;
use Komma\KMS\Core\Attributes\TextField;
class Services extends AbstractComponentType
{
protected int $id = ComponentTypes::SERVICES;
protected string $name = 'services';
public function defineAttributesAndTabs(){
$this->addItems([
(new TextField())
->setReference('title' )
->setLabelText(__('KMS::attributes/components.title')),
]);
}
public function prepare(ViewComponent $viewComponent)
{
$services = Service::where('active',1)
->with('translation')
->has('translation')
->get();
$services = $services->groupBy('service_type');
$viewComponent->services = $services;
}
}