Мы используем cookie-файлы, чтобы улучшить наш сайт.
Окей

multiSelect - компактный вид справочников 1.0.0

multiSelect - это дополнение к CRM-системе на базе SugarCRM/SuiteCRM, которое позволяет отображать выпадающие списки при поиске записей модулей в более компактном виде.
Вот смотрите, на примере модуля Контрагенты:
Пример списка на контрагентах в SuiteCRM
Здесь поля "Тип", "Отрасль" и "Ответственный" - это списки. В них можно выбрать одно или несколько значений, и CRM-система будет искать Контрагентов в соответствии с выбранными значениями. Когда списков на странице мало - их компактное отображение не является какой-либо важной задачей. Но вот если списков много, то внешний вид становится достаточно ужасным. Или, например, на одной строке поиска располагаются поля в виде строки и в виде мульти-списка. Разная высота полей просто убивает весь внешний вид поиска, делая его просто свалкой каких то полей. С этим очень не удобно работать.

В итоге я сделал небольшое дополнение, которое позволяет поля типа "список" делать однострочными не теряя при этом возможности выбрать несколько значений из списка. Выделил это дополнение в виде расширения и предоставляю его вам, может кому и пригодится...

Ставится расширение в стандартный Установщик модулей. Для этого идем в Администрирование -> Загрузчик модулей:

Как установить модуль в SuiteCRM
Далее выбираем ранее скачанный вами файл с расширением и нажимаем кнопку "Загрузить".
Выберите файл для загрузки в SuiteCRM
Модуль должен появиться в списке расширений, готовых к установке. Нажимаем кнопку "Установить":
Установить модуль в SuiteCRM
Далее система вам покажет мои условия распространения этого модуля: я ни за что не отвечаю, и если что то там пойдет не так - я не виноват. Если такие условия использования модуля вам подходят - выберите пункт "Принимаю" и жмите кнопку "Вперед". Если не подходят - жмите кнопку "Отказаться", или просто прекратите установку модуля, удалите его из списка модулей и не используйте как-либо еще в вашей CRM-системе:
Соглашение на установку модуля в SuiteCRM
Если условия использования расширения были вами приняты, то система произведет установку модуля multiSelect в вашу CRM-систему, о чем сообщит по окончании процесса установки 100% полоской и кучей информации технического характера типа вот такого:
Если вы перемотаете страницу в самый низ, то увидите там кнопку "Возврат на страницу загрузки модулей". Нажмите ее для возврата:
успешная установка модуля в SuiteCRM
Как вы можете увидеть модуль multiSelect был перемещен в блок установленных модулей:
Теперь все выпадающие списки, которые используются при поиске записей в модулях, будут иметь однострочный вид:
Списки после установки модуля в SuiteCRM
Если кликнуть на поле со списком, то откроется список всех возможных значений, в котором вы сможете выбрать одно или несколько значений. Чтобы убрать список всех значений приведя обратно однострочный вид - нужно кликнуть мышкой вне поля. Если было выбрано одно значение, то в поле отобразится это выбранное значение. Если было выбрано несколько значений, то отобразится указание кол-ва выбранных значений:
И еще одна маленькая подсказка по настройке: когда вы кликаете по такому полю, то появляется список высотой из 6 строк. Это кол-во строк по умолчанию. Это не совсем удобно для длинных списков: их приходится прокручивать. Но вы можете переопределить кол-во строк для того или иного списка. Правда сделать это можно только немного подправив код проекта. Через админку или еще как-либо без доступа к исходникам - не получится. Откройте файл searchdefs.php для того модуля, где вы хотите подправить кол-во строк. Например для Контрагентов это modules/Accounts/metadata/searchdefs.php (или custom/modules/Accounts/metadata/searchdefs.php, если есть). Там ищете нужное название поля, и добавляете в его описание блок:
'displayParams' =>
    array(
        'size' => 11,
    ),
Таким образом, например, описание поля "Тип" в Контрагентах примет вид:
'account_type' => 
array (
  'name' => 'account_type',
  'default' => true,
  'width' => '10%',
    'displayParams' =>
        array(
            'size' => 11,
        ),
),
Тем самым я указал, что высота списка должна быть 11 строк. Это как раз размер списка с типами контрагентов. После этого в некоторых случаях требуется запустить "Быстрое восстановление" в Администрирование -> Восстановление.

В результате после перезагрузки страницы с списком Контрагентов при клике на поле "Тип" у вас должен появиться список со всеми возможными значениями без прокрутки:
multiselect списки в SuiteCRM
Условия скачивания: Все, что вы здесь скачаете и поставите в свою CRM-систему, все на ваш страх и риск. Мы не несем ответственность за явные или не явные последствия, к которым может привести установка модулей, скачанных на нашем сайте.