OctoberCMS List Partial

Научимся выводить несколько свойств в одном поле с уловиями в OctoberCMS

В columns.yaml нужно вывести в 1 колонке сразу имя клиента, номер телефона (стационарный или мобильный).

Будем использовать type: partial

  client:
    label: Клиент
    type: partial
    searchable: true

Где client может называться как угодно, неважно есть такая колонка или нет.

Далее в папке нашего контроллера создаем файл _client.htm с любым содержимым. Пример:

<?php
    $v = $record->clients->name.', ';
    if($record->clients->telefon) {
        $v .= $record->clients->telefon;
    } else {
        $v .= $record->clients->sottelefon;
    }
    echo $v;
?>

Где $record это модель нашей записи.

Для того чтобы вывести значение с этой же модели пишите так $record->name

В моем случаем я обращаюсь к связи clients (данные с другой модели). Для того чтобы все работало верно нужно в нашу модель добавить:

    public $belongsTo = [
        'clients' => ['Site21\Crm\Models\Client', 'key' => 'id_klients', 'otherKey' => 'id_klients'],
    ];

Про связи в OctoberCms можете почитать здесь.


Опубликовано 3 декабря 2021 г. в категории: October CMS

Если Вам необходимо внедрить данную разработку на свой проект, свяжитесь со мной, обсудим цену и срок.

Связаться со мной Fill 1