Похожие чаты

Привет! Подскажите, пожалуйста, пытаюсь сделать свой тип пользовательского поля. Добавил класс

для типа поля:

<?php

use Bitrix\Main\UserField\Types\StringType;

class AgreementType extends StringType {
public const
USER_TYPE_ID = 'agreement',
RENDER_COMPONENT = 'bitrix:main.field.string';

public static function getDescription(): array
{
return [
'DESCRIPTION' => 'Расходование средств',
'BASE_TYPE' => CUserTypeManager::BASE_TYPE_STRING,
];
}
}

Подключаю так:

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('main', 'OnUserTypeBuildList', ['AgreementType', 'getUserTypeDescription']);


Но поле нигде не отображается, даже в админке (хочу увидеть его в CRM)

Что еще нужно сделать?

12 ответов

13 просмотров
A L- Автор вопроса

Если что то забыл уточнить, подскажите, пожалуйста

и куда вы этот код добавили?

A L- Автор вопроса
Andrei Nikolaev
и куда вы этот код добавили?

Класс в отдельный файл, его require в локальном init.php Обработчик тоже в init.php (тоже тот что в local)

A L- Автор вопроса

На самом деле буду рад если кто нибудь просто гайд кинет, актуальный, задачка то тривиальная вроде Просто все что я нашел в гугле оно совсем старое (12-15 год) и уже депрекейтед

A L
На самом деле буду рад если кто нибудь просто гайд...

в доке по д7 есть же описание и примеры стандартных полей в ядре

A L- Автор вопроса
Рыков Иван
в доке по д7 есть же описание и примеры стандартны...

https://dev.1c-bitrix.ru/api_d7/bitrix/main/userfield/uf-fieldclass.php оно? Я в целом и руководствовался им)) Но там не густо по примерам, классика доки по битриксу

A L
https://dev.1c-bitrix.ru/api_d7/bitrix/main/userfi...

в ядре найди поля. например привязка к crm

Получить getDescription от родителя, дополнить своими полями и отдать.

A L- Автор вопроса
Eugene Zhukov
Получить getDescription от родителя, дополнить сво...

А там у родителя getDescription только с этими двумя, которые я возвращаю Остальные данные мерджатся с дефолтными в абстрактном родителе

A L- Автор вопроса
Eugene Zhukov
И что в итоге получается?

А в итоге получается объединение двух объектов (первый из моего класса, из первого сообщения) и второй из BaseType: return [ 'USER_TYPE_ID' => static::USER_TYPE_ID, 'CLASS_NAME' => static::class, 'EDIT_CALLBACK' => [static::class, 'renderEdit'], 'VIEW_CALLBACK' => [static::class, 'renderView'], 'USE_FIELD_COMPONENT' => true ];

A L
А в итоге получается объединение двух объектов (пе...

Если поля нет в списке типов в админке, значит событие не срабатывает.

Похожие вопросы

Обсуждают сегодня

Карта сайта