Научимся выводить несколько свойств в одном поле с уловиями в 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 Winter CMS
Если Вам необходимо внедрить данную разработку на свой проект, свяжитесь со мной, обсудим цену и срок.