сахараcrm 6.5 установить количество столбцов на 3 на одной вкладке/панели, 2 на других вкладках

Я знаю, как установить столбцы в подробном представлении на 3 столбца вместо 2 по умолчанию, поместив в detailviewdefs.php

(в modules/EvMgr_Pgm/metadata при создании пользовательского модуля

или в custom/modules/EvMgr_Pgm/metadata при редактировании существующего модуля)

'maxColumns' => '3',
'widths' => 
array (
  0 => 
  array (
    'label' => '8',
    'field' => '19',
  ),
  1 => 
  array (
    'label' => '8',
    'field' => '19',
  ),
  2 => 
  array (
    'label' => '8',
    'field' => '19',
  ),
),

Однако это устанавливает столбцы для ВСЕХ вкладок/панелей в подробном представлении.

Есть ли способ, которым я могу иметь 3 столбца на одной вкладке/панели и 2 столбца (по умолчанию) на других вкладках/панелях?


person Ramblin    schedule 12.03.2014    source источник
comment
Не обошлось и без рефакторинга или расширения представления представлений «Правка» и «Подробности». Никогда не делал этого по этой причине, но я раньше расширял EditView, и это очень утомительно. Должен иметь свою собственную запись action_view_map, определение представления, editviewdefs и т. д. Я видел, что все связано с тем, как формы ссылаются на себя, все хочет сказать editview, когда на самом деле это mycustomeditview. Удачи.   -  person Matthew Poer    schedule 12.03.2014
comment
Вот чего я боялся. И в этом случае, поскольку я хочу иметь возможность делать это в учетных записях, при установке другого пакета все изменения нужно будет вносить с помощью сценариев манифеста, что усложняет его. Я надеялся, что есть что-то вроде ParserFactory, которое вы мне показали для editviewdefs.php, но, видимо, нет. Стоит попробовать ...   -  person Ramblin    schedule 12.03.2014
comment
О да, вы никак не сможете надежно упаковать что-то подобное для массового распространения, не уничтожив существующие макеты полей системы. Ну, может быть, для одного пользовательского модуля ... так что это зависит от того, хотите ли вы, чтобы несколько модулей использовали эту схему переключения 3/2 или нет.   -  person Matthew Poer    schedule 12.03.2014


Ответы (1)


Если вы измените ширину, чтобы она превышала 100, будет пересчитана ширина для панели/таблицы с 3 или более столбцами. Попробуй это:

'maxColumns' => '3',
'widths' => 
array (
  0 => 
  array (
    'label' => '10',
    'field' => '30',
  ),
  1 => 
  array (
    'label' => '10',
    'field' => '30',
  ),
  2 => 
  array (
    'label' => '10',
    'field' => '30',
  ),
),

При этом используется стандартная ширина 2 столбца 10/30. Когда панель создается с 3 столбцами, она пересчитывает ширину, поскольку она больше 100. По крайней мере, в версии 6.5.18 это так. Скорее всего так и для предыдущих версий.

person egg    schedule 06.11.2014
comment
ПРИМЕЧАНИЕ. Это прекрасно работает в режиме редактирования. Детальный вид задыхается до сих пор. Это работает, но не самое красивое. В качестве альтернативы можно использовать отдельный смарт-шаблон, отображать его в пользовательском представлении, а затем загружать в одно поле на панели. - person egg; 07.11.2014