Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Lighting Component Campaign Items Related List has a couple of default settings defined which a technical administrator can change according to the following documentation. 

...

Feature Name

Feature Setting Name

default value

CampaignItemRelatedList

SortByField

Code Block
{"Field":["ADvendio__SortOrder__c"],"Order":"asc"}

...

Feature Name

Feature Setting Name

default value

CampaignItemRelatedList

TableFields

Code Block
{
   "TableFields":[
      "Name",
      "ADvendio__Period__c",
      "ADvendio__Quantity__c",
      "ADvendio__Sales_Price__c",
      "ADvendio__Billing_category__c",
      "ADvendio__Amount_net3__c",
      "ADvendio__Available__c",
      "ADvendio__PositionNumber__c",
      "ADvendio__PositionNumberAppendix__c"
   ]
}

...

Feature Name

Feature Setting Name

Default Filter Value

CampaignItemRelatedList

FilterButtons

Code Block
{
   "Buttons":[
      {
         "title":"Don't Show Cancelled Item",
         "label":"Don't Show Cancelled Item",
         "filter":"ADvendio__ConnectedItem__c = null",
         "variant":"neutral",
         "isActive":"false"
      },
      {
         "title":"Don't Show Optimized Item",
         "label":"Don't Show Optimized Item",
         "filter":"ADvendio__OptimizationExclusion__c = null",
         "variant":"neutral",
         "isActive":"true"
      }
   ]
}

...

To modify the action buttons on the component create or edit the following feature setting: 

Feature Name

Feature Setting Name

Default Filter Value

Feature Setting Name

CampaignItemRelatedList

ActionButtons

Code Block
{
   "Buttons":[
   {
         "title":"Add Items",
         "label":"Add Items",
         "action":"/apex/ADvendio__SelectSearch?Id=$mcId$",
         "type":"vf"
      },
      {
         "title":"Change Items",
         "label":"Change Items",
         "componentDefinition":{
            "componentDef":"ADvendio:campaignBuilderWrapper",
            "attributes":{
               "mode":"edititems",
               "recordId":"$mcId$",
               "campaignItemIds":"$recordIds$"
            }
         },
         "type":"lwc"
      },
      {
         "title":"Edit Items",
         "label":"Edit Items",
         "action":"/apex/ADvendio__MediaConfiguration?id=$mcId$&selected=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Optimize Items",
         "label":"Optimize Items",
         "action":"/apex/ADvendio__NavigateToOptimizer?id=$mcId$&selected=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Delete Items",
         "label":"Delete Items",
         "action":"/apex/ADvendio__DeleteCampaignItems?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Sort Items",
         "label":"Sort Items",
         "action":"/apex/ADvendio__SortCampaignItems?Id=$mcId$",
         "type":"vf"
      },
      {
         "title":"Show Recommendations",
         "label":"Show Recommendations",
         "action":"/apex/ADvendio__ProductRecomm?id=$mcId$",
         "type":"vf"
      },
      {
         "title":"Check Availability",
         "label":"Check Availability",
         "action":"/apex/ADvendio__CheckAvailabilityCi?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Submit to AdServer",
         "label":"Submit to AdServer",
         "action":"/apex/ADvendio__SubmitToAdServer?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Creative Upload",
         "label":"Creative Upload",
         "action":"/apex/ADvendio__CreativeUploadCi?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Update Ad-Status in AdServer",
         "label":"Update Ad-Status in AdServer",
         "action":"/apex/ADvendio__UpdateAdServerAdStatus?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Get Delivered Clicks/Impressions",
         "label":"Get Delivered Clicks/Impressions",
         "action":"/apex/ADvendio__DeliveredClicksAndImpressionsImport?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
     }
   ]
}

This entry in JSON format as an array of map objects is used to define the default action buttons, where we can define the

...

The parameters must be defined as $mcid$ for the Media Campaign Id value and $recordIds$ for the selected items to use according the button choice. Currently ADvendio offers 12 buttons the same as the Salesforce Campaign Item default feature.

Create Custom Button for a Visualforce Page or LWC

To add a button to a Visualforce page, follow these steps:

  1. For Visualforce Pages:

    1. Create your Visualforce Page with an Apex Controller and add it to the Feature Setting as described below. Replace “vfExamplePage“ with the name you applied for the page:

    2. Add Button to Campaign Items:

      1. Go to Feature Setting (ActionButtons → CampaignItemRelatedList) and edit it.

      2. Add the value below: (info) You can change “title” and “label” based on your needs:

        Code Block
        {
         "title": "Example Page",
         "label": "Example VF",
         "action": "/apex/vfExamplePage?hello=$recordIds$",
         "type": "vf"
        }
  2. Create your LWC and add it to the Feature Setting as described below. Replace “lwcExample“ with the name you applied for the page:

    1. Add Button to Campaign Items:

      • Go to Feature Setting (ActionButtons → CampaignItemRelatedList) and edit it.

      • Add the value below: (info) You can change “title” and “label” based on your needs:

        Code Block
        {
         "title": "Example LWC",
         "label": "Example LWC",
         "componentDefinition": {
                "componentDef": "C:lwcExample",
                "attributes": {
                  "name": "$recordIds$"
                }
              },
         "type": "lwc"
        }
Info

For both versions you must add the parameters defined as $mcid$ for the Media Campaign Id value and $recordIds$ for the selected items to use according the button choice. Keep in mind that when $recordIds$ has multiple values, this values will be comma separated.

As for $smallView$ and $counter$, those are optional parameters.

  • $smallView$ is a boolean that returns true if the CIRL was in small view when clicking an action button, and false otherwise

  • $counter$ returns an integer with the amount of rows selected

Now, the button should appear on the Campaign Items related list.

Captura de pantalla 2023-06-20 a la(s) 08.48.06.pngImage Added