Антон Горбылев,
Лично я сомневаюсь что игра стоила свеч. Но уже поздно, увы. На счет имен, может кому то иначе, но лично нам и нашим клиентам читать {MyCompanyRequisitePrimaryAddressAddress1}, сложнее чем {MyCompany.RequisitePrimaryAddress.Address1}, но как говорят на вкус на цвет.
Основная проблема в том, что есть шаблоны, в которых мы не знаем какие плейсхолдеры используются. И есть набор полей, который опять же может нам быть полностью не известен. Поэтому нам было удобно просто передать массив данных и забыть. Я конечно понимаю, что можно для каждого случая описать провайдеры, но когда у вас более 100 шаблонов с несвязанными данными, т.е. это и не продукт, и не лид, а просто "что-то", что еще может прилететь из внешнего REST, то описательная часть становится все сложнее и сложнее.
По сути наша обертка над setValues это и делает, хоть с другого "входа".
Речь шла о метках вида например
Для вызова колбеков\функций, которые по сути вернут содержимое которое надо будет вставить
{%FN:debug} - вызов конкретной функции
{%debug} - вызов колбека
и соответственно блочные
{%debug:START}
{%debug:END}
Блочные самое первое же применение это реализация условий IF и конечно же можно придумать множество других применений.
ЗЫ. Наверное только колбеков должно быть достаточно, т.е. по аналогии как PHP парсит yaml
Цитата |
---|
Поначалу я хотел вставлять в таблицу поля в виде {PRODUCTS.NAME} - и тогда оно работало без этих промежуточных описаний. Но решили, что надо придерживаться единообразия в названиях полей, и пришлось городить такую прослойку, чтобы имена в таблицах были красивыми. |
Цитата |
---|
А в чем сложность с составлением описаний? |
Цитата |
---|
Если не используете провайдеры, то можно сделать обертку (какой-нибудь BodyFieldsFormatter), который будет переваривать ваш массив в нужный формат. |
Цитата |
---|
О каких метках речь? Опишите подробнее, подумаю, что можно сделать. |
Для вызова колбеков\функций, которые по сути вернут содержимое которое надо будет вставить
{%FN:debug} - вызов конкретной функции
{%debug} - вызов колбека
и соответственно блочные
{%debug:START}
{%debug:END}
Блочные самое первое же применение это реализация условий IF и конечно же можно придумать множество других применений.
ЗЫ. Наверное только колбеков должно быть достаточно, т.е. по аналогии как PHP парсит yaml