{"id":5790,"date":"2023-12-28T03:30:39","date_gmt":"2023-12-28T03:30:39","guid":{"rendered":"https:\/\/tst-blog.myenterprise.in\/?p=5790"},"modified":"2025-01-13T09:56:45","modified_gmt":"2025-01-13T09:56:45","slug":"add-custom-field-in-the-subpanel-from-relationship-table","status":"publish","type":"post","link":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/","title":{"rendered":"SugarCRM Customization: A Step-by-Step Guide to Create A Custom Field in The Relationship Table"},"content":{"rendered":"\n<p class=\"has-drop-cap is-cnvs-dropcap-bg-light is-style-default wp-block-paragraph\">This blog is intended for SugarCRM developers aiming to create a custom field in the subpanel from the relationship table. Let\u2019s explore the significance of customization in SugarCRM. When certain requirements cannot be met through personalization or configuration within Sugar, code-level customization becomes essential. Such customizations may involve expanding the out-of-the-box functionality by extending the SugarCRM code or integrating SugarCRM with third-party applications using RestFul API services. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The people who are new to SugarCRM first they should go through the <a href=\"https:\/\/support.sugarcrm.com\/documentation\/sugar_versions\/13.1\/sell\/application_guide\/\">end user guide<\/a>, <a href=\"https:\/\/support.sugarcrm.com\/documentation\/sugar_versions\/13.1\/sell\/administration_guide\/\">admin guide<\/a> and then only they can learn the SugarCRM custom development because it requires some understanding about how the application works and what and all the default features are available and how the SugarCRM can be personalized and configured by using Sugar default developer tools.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now let us understand what is the importance of this blog. We all know that we have the Many to Many relationship from Opportunities to Contacts by default in Sugar. So one Contact can have multiple Opportunities and similarly one Opportunity can be associated with multiple contacts. So let us see an example how the role field in the subpanel plays a vital role here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We all know that we have the Many to Many relationship from Opportunities to Contacts by default in Sugar. So one Contact can have multiple Opportunities and similarly, one Opportunity can have multiple contacts.<br>So let us see an example how the role field in the subpanel plays a vital role here.<\/p>\n\n\n\n<div class=\"cnvs-block-toc cnvs-block-toc-1727253025718\" >\n\t<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 id=\"how-does-the-contacts-role-field-under-opportunities-play-a-significant-role-in-sugarcrm\" class=\"wp-block-heading\">How does the Contacts Role Field under Opportunities play a significant role in SugarCRM?<\/h3>\n\n\n\n<p class=\"is-style-default wp-block-paragraph\">In SugarCRM, each Opportunity can be related to one or more contacts that are displayed in the subpanel on the Opportunities record view. The Contacts subpanel allows users to select an opportunity-specific role (e.g. Primary Decision Maker, Business Evaluator, etc.). Based on the role of the contact, will help us to decide how the individual contact will be the factor into the buying decision for the current Opportunity.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"490\" src=\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/contacts-role-opportunity-subpanel-bhea.png\" alt=\"SugarCRM Contacts Role in Opportunity Subpanel\" class=\"wp-image-7597\" style=\"width:500px\" srcset=\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/contacts-role-opportunity-subpanel-bhea.png 689w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/contacts-role-opportunity-subpanel-bhea-300x213.png 300w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/contacts-role-opportunity-subpanel-bhea-380x270.png 380w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/contacts-role-opportunity-subpanel-bhea-550x391.png 550w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/contacts-role-opportunity-subpanel-bhea-600x427.png 600w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"is-style-cnvs-list-styled is-style-default wp-block-paragraph\">The same contact can be linked to multiple Opportunities and can have different roles for each specific opportunity. In this case we cannot create the field in the studio in the Contact. This role field should be only for Opportunity Subpanel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let us take an example how it works in real time. For instance, Person A might be the Technical Evaluator for Project ABC and the Primary Decision Maker for Project XYZ. This shows how one person handles different jobs in various projects. The role field custom development allows us to record and distinguish these varied roles across different projects. By using this field, we can easily identify and manage the diverse roles a person plays in various projects.<\/p>\n\n\n\n<h3 id=\"creating-custom-subpanel-fields-through-customization-for-many-to-many-relationships-in-sugarcrm\" class=\"wp-block-heading\">Creating Custom Subpanel Fields Through Customization for Many-to-Many Relationships in SugarCRM<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This blog will guide you through creating a custom dropdown field in the Members subpanel under the Meetings Module. Imagine a scenario where there\u2019s a Many-to-Many relationship between Meetings and Members \u2013 meaning multiple members can attend various meetings, and each meeting can have multiple attendees.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The \u2018role\u2019 field here serves as a useful indicator to mark whether a member attended a specific meeting or not. When we establish a Many-to-Many relationship between these modules, SugarCRM automatically generates metadata and relationship files in both modules\u2019 vardefs.<\/p>\n\n\n\n<p class=\"is-style-default wp-block-paragraph\">However, since this field is part of a relationship, you can\u2019t create it using tools like Studio or Module Builder. This has to be done through custom code development only. Adding small code snippets into specific files will help achieve this customization as mentioned in the below steps.<\/p>\n\n\n\n<h4 id=\"adding-the-field-in-the-subpanel-module\" class=\"wp-block-heading is-style-cnvs-heading-numbered\">Adding the field in the Subpanel Module<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">To display the field in the subpanel, we need to add it to the metadata file. Follow these steps:<\/p>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>Navigate to the file path: (.\/custom\/metadata\/meetings_psme_members_1MetaData.php).<\/li>\n\n\n\n<li>Inside this file, find the \u2018fields\u2019 array.<\/li>\n\n\n\n<li>Add the following code snippet within the \u2018fields\u2019 array.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers cbp-highlight-hover\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(1 * 0.6 * 1rem);--cbp-line-highlight-color:rgba(215, 211, 255, 0.2);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"'meeting_status' =&gt;\n    array (\n    'name' =&gt; 'meeting_status',\n    'type' =&gt; 'enum',  \n    ),\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">    <\/span><span style=\"color: #EB6F92; font-style: italic\">array<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">    <\/span><span style=\"color: #F6C177\">&#39;name&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">    <\/span><span style=\"color: #F6C177\">&#39;type&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;enum&#39;<\/span><span style=\"color: #908CAA\">,<\/span><span style=\"color: #E0DEF4\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">    <\/span><span style=\"color: #908CAA\">),<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-columns has-gray-200-background-color has-background is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Note<\/strong>: The path mentioned (.\/custom\/metadata\/{link_name}MetaData.php) might differ based on the relationship. Typically, it will follow a similar structure, adjusting the \u2018link_name\u2019 based on the relationship between modules.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h4 id=\"adding-the-field-in-the-relationship-file\" class=\"wp-block-heading is-style-cnvs-heading-numbered\">Adding the Field in the Relationship File<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">When establishing a Many-to-Many (M-M) relationship between modules like Meetings and Members, SugarCRM creates specific files in both module directories under Vardefs.<\/p>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>To incorporate the \u2018meeting_status\u2019 field into this relationship, follow these steps: <\/li>\n\n\n\n<li class=\"list-align-min\">Locate the file at the path .\/custom\/Extension\/modules\/PSME_Members\/Ext\/Vardefs\/meetings_psme_members_1_PSME_Members.php<\/li>\n\n\n\n<li>Add the provided code snippet to the end of the file:<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers cbp-highlight-hover\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(1 * 0.6 * 1rem);--cbp-line-highlight-color:rgba(215, 211, 255, 0.2);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"'rel_fields' =&gt;\n  array(\n    'meeting_status' =&gt;\n    array(\n      'type' =&gt; 'enum',\n      'options' =&gt; 'meeting_status_type_list'\n    )\n  ),\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6C177\">&#39;rel_fields&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">  <\/span><span style=\"color: #EB6F92; font-style: italic\">array<\/span><span style=\"color: #908CAA\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">    <\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">    <\/span><span style=\"color: #EB6F92; font-style: italic\">array<\/span><span style=\"color: #908CAA\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">      <\/span><span style=\"color: #F6C177\">&#39;type&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;enum&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">      <\/span><span style=\"color: #F6C177\">&#39;options&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;meeting_status_type_list&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">    <\/span><span style=\"color: #908CAA\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">  <\/span><span style=\"color: #908CAA\">),<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>In this code, the \u2018type\u2019 parameter set as \u2018enum\u2019 indicates that \u2018meeting_status\u2019 will be a dropdown field. The \u2018options\u2019 attribute, set to \u2018meeting_status_type_list\u2019, specifies the list of options that will be available in this dropdown.<\/li>\n\n\n\n<li>This addition within the relationship file defines the \u2018meeting_status\u2019 field as a dropdown, providing a predefined set of choices within the relationship between Meetings and Members.<\/li>\n<\/ul>\n\n\n\n<h4 id=\"creating-the-dropdown-field-meeting-status-in-the-members-module\" class=\"wp-block-heading is-style-cnvs-heading-numbered\">Creating the Dropdown Field \u2018Meeting Status\u2019 in the Members Module<\/h4>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>To display the status of a member for a meeting, create a dropdown field named \u2018Meeting Status\u2019 in the Members module. Follow these steps.<\/li>\n\n\n\n<li>Create a file at the path: .\/custom\/Extension\/modules\/\/Ext\/Vardefs\/<\/li>\n\n\n\n<li>Insert the following code into the new file created and save the file.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers cbp-highlight-hover\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(2 * 0.6 * 1rem);--cbp-line-highlight-color:rgba(215, 211, 255, 0.2);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;?php\n$dictionary['PSME_Members']['fields']['meeting_status']['name'] = 'meeting_status';\n$dictionary['PSME_Members']['fields']['meeting_status']['type'] = 'enum';\n$dictionary['PSME_Members']['fields']['meeting_status']['vname'] = 'LBL_MEETING_STATUS';\n$dictionary['PSME_Members']['fields']['meeting_status']['importable'] = false;\n$dictionary['PSME_Members']['fields']['meeting_status']['source'] = 'non-db';\n$dictionary['PSME_Members']['fields']['meeting_status']['link'] = 'meetings_psme_members_1';\n$dictionary['PSME_Members']['fields']['meeting_status']['rname_link'] = 'meeting_status';\n$dictionary['PSME_Members']['fields']['meeting_status']['options'] = 'meeting_status_type_list';\n?&gt;\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #31748F\">&lt;?php<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">dictionary<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;PSME_Members&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;name&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">dictionary<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;PSME_Members&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;type&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;enum&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">dictionary<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;PSME_Members&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;vname&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;LBL_MEETING_STATUS&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">dictionary<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;PSME_Members&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;importable&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">false<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">dictionary<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;PSME_Members&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;source&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;non-db&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">dictionary<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;PSME_Members&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;link&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;meetings_psme_members_1&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">dictionary<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;PSME_Members&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;rname_link&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">dictionary<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;PSME_Members&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;fields&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">][<\/span><span style=\"color: #F6C177\">&#39;options&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;meeting_status_type_list&#39;<\/span><span style=\"color: #908CAA\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">?&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>Explanation of Parameters used in the above code are as follows.<\/li>\n\n\n\n<li>\u2018type\u2019 =&gt; \u2018enum\u2019 \u2192 Specifies the data type of the field as a dropdown (\u2018enum\u2019).<\/li>\n\n\n\n<li>\u2018link\u2019 =&gt; \u2018meetings_psme_members_1\u2019 \u2192 Refers to the link name created during the relationship setup between modules.<\/li>\n\n\n\n<li>\u2018options\u2019 =&gt; \u2018meeting_status_type_list\u2019 \u2192 Indicates the name of the dropdown list containing options for the \u2018meeting_status\u2019 field.<\/li>\n\n\n\n<li>\u2018PSME_Members\u2019 module refers to the module name where this field is being added.<\/li>\n\n\n\n<li>This code addition creates a dropdown field named \u2018Meeting Status\u2019 within the Members module, enabling the display and selection of different meeting statuses for each member.<br><\/li>\n<\/ul>\n\n\n\n<h4 id=\"creating-the-dropdown-list-meeting_status_type_list\" class=\"wp-block-heading is-style-cnvs-heading-numbered\">Creating the Dropdown List \u2018meeting_status_type_list\u2019<\/h4>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>To create the dropdown list \u2018meeting_status_type_list\u2019 used for the \u2018Meeting Status\u2019 field, follow these steps.<\/li>\n\n\n\n<li>Navigate to the file path: .\/custom\/Extension\/application\/Ext\/Language\/.php.<\/li>\n\n\n\n<li>Add the following code snippet into the file.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers cbp-highlight-hover\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(2 * 0.6 * 1rem);--cbp-line-highlight-color:rgba(215, 211, 255, 0.2);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;?php\n$app_list_strings['meeting_status_type_list'] = array(\n  'Selected' =&gt; 'Selected',\n  'Invited' =&gt; 'Invited',\n  'Accepted' =&gt; 'Accepted',\n  'Rejected' =&gt; 'Rejected',\n  'Attended' =&gt; 'Attended',\n  'Absent' =&gt; 'Absent',\n);\n?&gt;\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #31748F\">&lt;?php<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA; font-style: italic\">$<\/span><span style=\"color: #E0DEF4; font-style: italic\">app_list_strings<\/span><span style=\"color: #908CAA\">[<\/span><span style=\"color: #F6C177\">&#39;meeting_status_type_list&#39;<\/span><span style=\"color: #908CAA\">]<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EB6F92; font-style: italic\">array<\/span><span style=\"color: #908CAA\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">  <\/span><span style=\"color: #F6C177\">&#39;Selected&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Selected&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">  <\/span><span style=\"color: #F6C177\">&#39;Invited&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Invited&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">  <\/span><span style=\"color: #F6C177\">&#39;Accepted&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Accepted&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">  <\/span><span style=\"color: #F6C177\">&#39;Rejected&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Rejected&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">  <\/span><span style=\"color: #F6C177\">&#39;Attended&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Attended&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">  <\/span><span style=\"color: #F6C177\">&#39;Absent&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Absent&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #908CAA\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #31748F\">?&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>This snippet of code defines the dropdown list \u2018meeting_status_type_list\u2019. Each key-value pair represents an option in the dropdow:  \u2018Selected\u2019, \u2018Invited\u2019, \u2018Accepted\u2019, \u2018Rejected\u2019, \u2018Attended\u2019, \u2018Absent\u2019 are the options available for the \u2018Meeting Status\u2019 dropdown field.<\/li>\n\n\n\n<li>By adding this code snippet to the specified language file, you create a list of selectable options for the \u2018Meeting Status\u2019 dropdown field in the Members module.<\/li>\n<\/ul>\n\n\n\n<h4 id=\"finalizing-changes-and-updating-layout\" class=\"wp-block-heading is-style-cnvs-heading-numbered\">&nbsp;Finalizing Changes and Updating Layout<\/h4>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>Perform Quick Repair and Rebuild.<\/li>\n\n\n\n<li>After placing all the necessary files, access the Admin section within your Sugar instance.<\/li>\n\n\n\n<li>Perform the Quick Repair and Rebuild action. Execute the query generated after the repair process concludes. This ensures that Sugar recognizes and applies the recent changes effectively.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>Adjust Layout via Studio by following the below steps.<\/li>\n\n\n\n<li>Go to Studio and open the Meetings Module.<\/li>\n\n\n\n<li>Navigate to Subpanels and locate the Members module.<\/li>\n\n\n\n<li>In the \u2018hidden layout\u2019 section, find the newly created field.<\/li>\n\n\n\n<li>Simply drag and drop this field from the hidden section to the \u2018default layout\u2019.<\/li>\n\n\n\n<li>Save &amp; Deploy the field to update the layout.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"472\" src=\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-studio-tool-bhea.png\" alt=\"Studio is a developer tool for modifying the subpanel layouts in SugarCRM\" class=\"wp-image-7595\" style=\"width:500px\" srcset=\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-studio-tool-bhea.png 714w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-studio-tool-bhea-300x198.png 300w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-studio-tool-bhea-380x251.png 380w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-studio-tool-bhea-550x364.png 550w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-studio-tool-bhea-600x397.png 600w\" sizes=\"auto, (max-width: 714px) 100vw, 714px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Here we go we can see the field in the members subpanel under the meetings module, but we are not yet done. We have to change the label of this field in the subpanels file.<\/p>\n\n\n\n<h4 id=\"modifying-the-field-label-in-the-subpanel-file\" class=\"wp-block-heading is-style-cnvs-heading-numbered\">Modifying the Field Label in the Subpanel File<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">To change the label of the field displayed in the Members subpanel under the Meetings Module, follow these steps<\/p>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li class=\"list-align-min\">Navigate to the file path as mentioned below (.custom\\modules\\PSME_Members\\clients\\base\\views\\subpanel-for-meetings-meetings_psme_members_1\\subpanel-for-meetings-meetings_psme_members_1.php)<\/li>\n\n\n\n<li>Locate the array related to the \u2018meeting_status\u2019 field inside this file and Adjust the \u2018label\u2019 attribute in the array to change the field label as shown in the below.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers cbp-highlight-hover\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#e0def4;--cbp-line-number-width:calc(1 * 0.6 * 1rem);--cbp-line-highlight-color:rgba(215, 211, 255, 0.2);line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#242134;color:#cecbee\">PHP<\/span><span role=\"button\" tabindex=\"0\" data-code=\"array (\n        'name' =&gt; 'meeting_status',\n        'label' =&gt; 'Meeting Status',\n        'enabled' =&gt; true,\n        'default' =&gt; true,\n      ),\" style=\"color:#e0def4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki rose-pine\" style=\"background-color: #191724\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #EB6F92; font-style: italic\">array<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #908CAA\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">        <\/span><span style=\"color: #F6C177\">&#39;name&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;meeting_status&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">        <\/span><span style=\"color: #F6C177\">&#39;label&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #F6C177\">&#39;Meeting Status&#39;<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">        <\/span><span style=\"color: #F6C177\">&#39;enabled&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">true<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">        <\/span><span style=\"color: #F6C177\">&#39;default&#39;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #31748F\">=&gt;<\/span><span style=\"color: #E0DEF4\"> <\/span><span style=\"color: #EBBCBA\">true<\/span><span style=\"color: #908CAA\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E0DEF4\">      <\/span><span style=\"color: #908CAA\">),<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list is-style-cnvs-list-styled-positive\">\n<li>Once this is done, we have to perform the Quick Repair and Rebuild. We are all set, now we are ready to use the relationship field and track members meeting status for a particular meeting.<\/li>\n\n\n\n<li>After performing all the steps as mentioned in this blog, you can see the Meeting Status field in Members Subpanel under the Meetings module as shown in the below screenshot.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"451\" src=\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-subpanels-bhea.png\" alt=\"\" class=\"wp-image-7596\" style=\"width:500px\" srcset=\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-subpanels-bhea.png 667w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-subpanels-bhea-300x203.png 300w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-subpanels-bhea-380x257.png 380w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-subpanels-bhea-550x372.png 550w, https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/09\/sugarcrm-subpanels-bhea-600x406.png 600w\" sizes=\"auto, (max-width: 667px) 100vw, 667px\" \/><\/figure>\n<\/div>\n\n\n<h3 id=\"conclusion\" class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In summary, custom role-based fields in CRM subpanels make it easier to understand different roles and help in making better decisions. Doing database operations and programming for these changes demonstrates the CRM system\u2019s ability to adjust and improve how data is handled, leading to smarter business methods. Bhea is the trusted SugarCRM partner with extensive experience since 2004, specializes in implementing and supporting CRM systems tailored specifically to meet diverse business needs. As a leading authority in SugarCRM, <a href=\"https:\/\/www.bhea.com\/contact-us\/\" data-type=\"link\" data-id=\"https:\/\/www.bhea.com\/contact-us\/\">Contact Us<\/a> for all your CRM\/SugarCRM implementation and support requirements.<\/p>\n","protected":false},"excerpt":{"rendered":"This blog is intended for SugarCRM developers aiming to create a custom field in the subpanel from the&hellip;\n","protected":false},"author":4,"featured_media":7367,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"two_page_speed":[],"csco_singular_sidebar":"","csco_page_header_type":"","csco_appearance_masonry":"","csco_page_load_nextpost":"","csco_post_video_location":[],"csco_post_video_location_hash":"","csco_post_video_url":"","csco_post_video_bg_start_time":0,"csco_post_video_bg_end_time":0,"footnotes":""},"categories":[43],"tags":[49,87,47,88,86],"class_list":["post-5790","post","type-post","status-publish","format-standard","has-post-thumbnail","category-sugarcrm-development","tag-crm-implementation","tag-custom-modules","tag-sugarcrm","tag-sugarcrm-customisation","tag-sugarcrm-development","cs-entry","cs-video-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Add custom field in subpanel from Relationship | Sugar Developer<\/title>\n<meta name=\"description\" content=\"SugarCRM Developer tutorial to add a custom field in the sub panel from relationship table. Step by step instructions for SugarCRM.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Add custom field in subpanel from Relationship | Sugar Developer\" \/>\n<meta property=\"og:description\" content=\"SugarCRM Developer tutorial to add a custom field in the sub panel from relationship table. Step by step instructions for SugarCRM.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/\" \/>\n<meta property=\"og:site_name\" content=\"Bhea Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/bheatech\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-28T03:30:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-13T09:56:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1272\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ramya Katram\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bheacrm\" \/>\n<meta name=\"twitter:site\" content=\"@bheacrm\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ramya Katram\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/\"},\"author\":{\"name\":\"Ramya Katram\",\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/person\/f00e449036a375e445c793649186c0fa\"},\"headline\":\"SugarCRM Customization: A Step-by-Step Guide to Create A Custom Field in The Relationship Table\",\"datePublished\":\"2023-12-28T03:30:39+00:00\",\"dateModified\":\"2025-01-13T09:56:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/\"},\"wordCount\":1486,\"publisher\":{\"@id\":\"https:\/\/bhea.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png\",\"keywords\":[\"crm implementation\",\"Custom Modules\",\"SugarCRM\",\"SugarCRM Customisation\",\"SugarCRM Development\"],\"articleSection\":[\"SugarCRM Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/\",\"url\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/\",\"name\":\"Add custom field in subpanel from Relationship | Sugar Developer\",\"isPartOf\":{\"@id\":\"https:\/\/bhea.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png\",\"datePublished\":\"2023-12-28T03:30:39+00:00\",\"dateModified\":\"2025-01-13T09:56:45+00:00\",\"description\":\"SugarCRM Developer tutorial to add a custom field in the sub panel from relationship table. Step by step instructions for SugarCRM.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#primaryimage\",\"url\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png\",\"contentUrl\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png\",\"width\":1920,\"height\":1272},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.bhea.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SugarCRM Customization: A Step-by-Step Guide to Create A Custom Field in The Relationship Table\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bhea.com\/blog\/#website\",\"url\":\"https:\/\/bhea.com\/blog\/\",\"name\":\"Bhea Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/bhea.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bhea.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/bhea.com\/blog\/#organization\",\"name\":\"Bhea Technologies Pte Ltd\",\"url\":\"https:\/\/bhea.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/05\/Bhea_blog_logo.png\",\"contentUrl\":\"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/05\/Bhea_blog_logo.png\",\"width\":1918,\"height\":460,\"caption\":\"Bhea Technologies Pte Ltd\"},\"image\":{\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/bheatech\",\"https:\/\/x.com\/bheacrm\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/person\/f00e449036a375e445c793649186c0fa\",\"name\":\"Ramya Katram\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/bhea.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/64adc14f239923d2d69d93ddaba92b6e9e6450fb23301d04601744079db39f04?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/64adc14f239923d2d69d93ddaba92b6e9e6450fb23301d04601744079db39f04?s=96&d=mm&r=g\",\"caption\":\"Ramya Katram\"},\"url\":\"https:\/\/www.bhea.com\/blog\/author\/ramya-katram\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Add custom field in subpanel from Relationship | Sugar Developer","description":"SugarCRM Developer tutorial to add a custom field in the sub panel from relationship table. Step by step instructions for SugarCRM.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/","og_locale":"en_US","og_type":"article","og_title":"Add custom field in subpanel from Relationship | Sugar Developer","og_description":"SugarCRM Developer tutorial to add a custom field in the sub panel from relationship table. Step by step instructions for SugarCRM.","og_url":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/","og_site_name":"Bhea Blog","article_publisher":"https:\/\/www.facebook.com\/bheatech","article_published_time":"2023-12-28T03:30:39+00:00","article_modified_time":"2025-01-13T09:56:45+00:00","og_image":[{"width":1920,"height":1272,"url":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png","type":"image\/png"}],"author":"Ramya Katram","twitter_card":"summary_large_image","twitter_creator":"@bheacrm","twitter_site":"@bheacrm","twitter_misc":{"Written by":"Ramya Katram","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#article","isPartOf":{"@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/"},"author":{"name":"Ramya Katram","@id":"https:\/\/bhea.com\/blog\/#\/schema\/person\/f00e449036a375e445c793649186c0fa"},"headline":"SugarCRM Customization: A Step-by-Step Guide to Create A Custom Field in The Relationship Table","datePublished":"2023-12-28T03:30:39+00:00","dateModified":"2025-01-13T09:56:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/"},"wordCount":1486,"publisher":{"@id":"https:\/\/bhea.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png","keywords":["crm implementation","Custom Modules","SugarCRM","SugarCRM Customisation","SugarCRM Development"],"articleSection":["SugarCRM Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/","url":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/","name":"Add custom field in subpanel from Relationship | Sugar Developer","isPartOf":{"@id":"https:\/\/bhea.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#primaryimage"},"image":{"@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png","datePublished":"2023-12-28T03:30:39+00:00","dateModified":"2025-01-13T09:56:45+00:00","description":"SugarCRM Developer tutorial to add a custom field in the sub panel from relationship table. Step by step instructions for SugarCRM.","breadcrumb":{"@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#primaryimage","url":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png","contentUrl":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/08\/bhea-sugarcrm-customization-step-by-step-guide.png","width":1920,"height":1272},{"@type":"BreadcrumbList","@id":"https:\/\/www.bhea.com\/blog\/add-custom-field-in-the-subpanel-from-relationship-table\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bhea.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SugarCRM Customization: A Step-by-Step Guide to Create A Custom Field in The Relationship Table"}]},{"@type":"WebSite","@id":"https:\/\/bhea.com\/blog\/#website","url":"https:\/\/bhea.com\/blog\/","name":"Bhea Blog","description":"","publisher":{"@id":"https:\/\/bhea.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bhea.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bhea.com\/blog\/#organization","name":"Bhea Technologies Pte Ltd","url":"https:\/\/bhea.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bhea.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/05\/Bhea_blog_logo.png","contentUrl":"https:\/\/www.bhea.com\/blog\/wp-content\/uploads\/2024\/05\/Bhea_blog_logo.png","width":1918,"height":460,"caption":"Bhea Technologies Pte Ltd"},"image":{"@id":"https:\/\/bhea.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/bheatech","https:\/\/x.com\/bheacrm"]},{"@type":"Person","@id":"https:\/\/bhea.com\/blog\/#\/schema\/person\/f00e449036a375e445c793649186c0fa","name":"Ramya Katram","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bhea.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/64adc14f239923d2d69d93ddaba92b6e9e6450fb23301d04601744079db39f04?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64adc14f239923d2d69d93ddaba92b6e9e6450fb23301d04601744079db39f04?s=96&d=mm&r=g","caption":"Ramya Katram"},"url":"https:\/\/www.bhea.com\/blog\/author\/ramya-katram\/"}]}},"_links":{"self":[{"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/posts\/5790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/comments?post=5790"}],"version-history":[{"count":29,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/posts\/5790\/revisions"}],"predecessor-version":[{"id":7891,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/posts\/5790\/revisions\/7891"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/media\/7367"}],"wp:attachment":[{"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/media?parent=5790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/categories?post=5790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bhea.com\/blog\/wp-json\/wp\/v2\/tags?post=5790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}