8 use Elgg\Traits\Loggable;
44 $entity_class = $this->entityTable->getEntityClass(
$type,
$subtype);
45 $defaults = !empty($entity_class) ? $entity_class::getDefaultFields() : [];
48 if (!isset($default_field[
'priority'])) {
54 $result = (array) $this->events->triggerResults(
'fields',
"{$type}:{$subtype}", [
63 $this->getLogger()->warning(
"Field config for '{$type}:{$subtype}' is missing 'name' or '#type' in field: " . print_r(
$field,
true));
67 if (!isset(
$field[
'#label'])) {
68 $label_key =
"fields:{$type}:{$subtype}:{$field['name']}";
69 if ($this->translator->languageKeyExists($label_key)) {
70 $field[
'#label'] = $this->translator->translate($label_key);
74 if (!isset(
$field[
'#help'])) {
75 $label_key =
"fields:{$type}:{$subtype}:{$field['name']}:help";
76 if ($this->translator->languageKeyExists($label_key)) {
77 $field[
'#help'] = $this->translator->translate($label_key);
81 if (!isset(
$field[
'priority'])) {
90 usort(
$fields,
function ($a, $b) {
91 return (
int) $a[
'priority'] - (
int) $b[
'priority'];
Entity table database service.