2017 © Pedro PelΓ‘ez
 

library bitrix-user-type

Set of custom Bitrix user property types and basic auxiliary functionality to help develop new types as easy and fast as it possible.

image

webarchitect609/bitrix-user-type

Set of custom Bitrix user property types and basic auxiliary functionality to help develop new types as easy and fast as it possible.

  • Wednesday, August 1, 2018
  • by webarchitect609
  • Repository
  • 1 Watchers
  • 0 Stars
  • 110 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

Набор Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… свойств, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹ΠΉ максимально ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… свойств., (*1)

Пока Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия - Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹!, (*2)

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои Ρ‚ΠΈΠΏΡ‹ свойств элСмСнта ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°, Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ webarchitect609/bitrix-iblock-property-type, (*3)

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

1 Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· composer, (*4)

composer require webarchitect609/bitrix-user-type, (*5)

2 Π’ init.php ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅(Π²Ρ‹ΡˆΠ΅) ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… свойств (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ - см. "Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹" #1). НапримСр,, (*6)

\WebArch\BitrixUserPropertyType\IblockSectionLinkType::init();, (*7)

Π›ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ:, (*8)

<?php

use WebArch\BitrixUserPropertyType\HyperLinkType;
use WebArch\BitrixUserPropertyType\IblockSectionLinkType;
use WebArch\BitrixUserPropertyType\Utils\UserTypeManager;
use WebArch\BitrixUserPropertyType\WeekDayType;
use WebArch\BitrixUserPropertyType\StoreListType;

(new UserTypeManager([
    HyperLinkType::class,
    IblockSectionLinkType::class,
    WeekDayType::class,
    StoreListType::class
]))->init();

3 Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ поля, Π²Ρ‹Π±Ρ€Π°Π² свойство Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°!, (*9)

Бписок ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… свойств ΠΏΠ°ΠΊΠ΅Ρ‚Π°

  • "ГипСрссылка". ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ свойство, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π΅ Π²Π°Π»ΠΈΠ΄Π½ΡƒΡŽ гипСрссылку. WebArch\BitrixUserPropertyType\HyperLinkType
  • "ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°(с ΠΎΠΊΠ½ΠΎΠΌ поиска)". ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π», Π²Ρ‹Π±Ρ€Π°Π² Π΅Π³ΠΎ ΠΈΠ· Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°. WebArch\BitrixUserPropertyType\IblockSectionLinkType
  • "Π”Π΅Π½ΡŒ Π½Π΅Π΄Π΅Π»ΠΈ". ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ привязку ΠΊ дню Π½Π΅Π΄Π΅Π»ΠΈ (ISO-8601). WebArch\BitrixUserPropertyType\WeekDayType
  • "ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ складу". Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ привязку ΠΊ складу ΠΏΠΎ Π΅Π³ΠΎ XML_ID. WebArch\BitrixUserPropertyType\StoreListType
  • "ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ". Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ привязку ΠΊ ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Bitrix ΠΏΠΎ Π΅Π³ΠΎ ΠΊΠΎΠ΄Ρƒ. WebArch\BitrixUserPropertyType\LocationType

Как Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ свой Ρ‚ΠΈΠΏ свойства

1 ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ свой Ρ‚ΠΈΠΏ ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ \WebArch\BitrixUserPropertyType\Abstraction\UserTypeBase ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс \WebArch\BitrixUserPropertyType\Abstraction\UserTypeInterface., (*10)

2 ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ getDBColumnType(), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· подходящих Ρ‚Ρ€Π΅ΠΉΡ‚ΠΎΠ² ΠΈΠ· namespace WebArch\BitrixUserPropertyType\Abstraction\DbColumnType, (*11)

3 ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ getBaseType(), getDescription() ΠΈ Ρ‚.Π΄., ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ \WebArch\BitrixUserPropertyType\Abstraction\UserTypeInterface, (*12)

4 ΠŸΡ€ΠΈ нСобходимости Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² слСдуСт Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйсы ΠΈΠ· namespace \WebArch\BitrixUserPropertyType\Abstraction\Custom, (*13)

5 Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой Ρ‚ΠΈΠΏ свойства Π² init.php, (*14)

MyUserType::init();, (*15)

6 Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ поля, Π²Ρ‹Π±Ρ€Π°Π² свойство Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°!, (*16)

Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

#1 Ошибка "Bitrix\Main\SystemException: Unknown field definition UF_YOUR_TYPE" ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с HL-Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ общая ошибка Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ свойства.
ВозмоТная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ свойства Π² init.php происходит ΠΏΠΎΠ·ΠΆΠ΅, Ρ‡Π΅ΠΌ сборка сущности для любого HL-Π±Π»ΠΎΠΊΠ° \Bitrix\Highloadblock\HighloadBlockTable::compileEntity(), которая Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹Π·ΠΎΠ²Ρƒ \CUserTypeManager::GetUserType() ΠΈ Π½Π°Π±ΠΎΡ€Ρƒ кСша Π² \CUserTypeManager::$arUserTypes, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС Π½Π΅ обновлятся ΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ вновь ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ., (*17)

Бпособ устранСния

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… свойств Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ самый ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² \Bitrix\Highloadblock\HighloadBlockTable::compileEntity() ΠΈΠ»ΠΈ \CUserTypeManager::GetUserType()., (*18)

The Versions

01/08 2018

dev-master

9999999-dev

Set of custom Bitrix user property types and basic auxiliary functionality to help develop new types as easy and fast as it possible.

  Sources   Download

MIT

The Requires

 

by Sergey Gripinskiy

bitrix userfield usertype

01/08 2018

v0.1.0

0.1.0.0

Set of custom Bitrix user property types and basic auxiliary functionality to help develop new types as easy and fast as it possible.

  Sources   Download

MIT

The Requires

 

by Sergey Gripinskiy

bitrix userfield usertype

06/06 2018

v0.0.4

0.0.4.0

Set of custom Bitrix user property types and basic auxiliary functionality to help develop new types as easy and fast as it possible.

  Sources   Download

MIT

The Requires

 

by Sergey Gripinskiy

bitrix userfield usertype

05/06 2018

v0.0.3

0.0.3.0

Set of custom Bitrix user property types and basic auxiliary functionality to help develop new types as easy and fast as it possible.

  Sources   Download

MIT

The Requires

 

by Sergey Gripinskiy

bitrix userfield usertype

05/06 2018

v0.0.2

0.0.2.0

Set of custom Bitrix user property types and basic auxiliary functionality to help develop new types as easy and fast as it possible.

  Sources   Download

MIT

The Requires

 

by Sergey Gripinskiy

bitrix userfield usertype

05/06 2018

v0.0.1

0.0.1.0

Set of custom Bitrix user property types and basic auxiliary functionality to help develop new types as easy and fast as it possible.

  Sources   Download

MIT

The Requires

  • php >=5.5

 

by Sergey Gripinskiy

bitrix userfield usertype