Merge pull request #24192 from demeritcowboy/php81-frontend4
[civicrm-core.git] / Civi / WorkflowMessage / GenericWorkflowMessage.php
index 0c072a485e10c8ee3a8d81539fd29a94981d223c..9d2d3bdf1a0490167899f10c5f9c3df1c203352c 100644 (file)
@@ -15,6 +15,7 @@ namespace Civi\WorkflowMessage;
 use Civi\Schema\Traits\MagicGetterSetterTrait;
 use Civi\WorkflowMessage\Traits\AddressingTrait;
 use Civi\WorkflowMessage\Traits\FinalHelperTrait;
+use Civi\WorkflowMessage\Traits\LocalizationTrait;
 use Civi\WorkflowMessage\Traits\ReflectiveWorkflowTrait;
 
 /**
@@ -44,6 +45,9 @@ class GenericWorkflowMessage implements WorkflowMessageInterface {
   // Implement setTo(), setReplyTo(), etc
   use AddressingTrait;
 
+  // Implement setLocale(), etc
+  use LocalizationTrait;
+
   /**
    * WorkflowMessage constructor.
    *
@@ -60,7 +64,7 @@ class GenericWorkflowMessage implements WorkflowMessageInterface {
    * The contact receiving this message.
    *
    * @var int|null
-   * @scope tokenContext
+   * @scope tokenContext, tplParams as contactID
    * @fkEntity Contact
    */
   protected $contactId;
@@ -96,4 +100,15 @@ class GenericWorkflowMessage implements WorkflowMessageInterface {
     }
   }
 
+  /**
+   * Define tokens to be exported as smarty values.
+   *
+   * @param array $export
+   */
+  protected function exportExtraTokenContext(array &$export): void {
+    // Tax term is exposed at the generic level as so many templates use it
+    // (e.g. Membership, participant, pledge as well as contributions).
+    $export['smartyTokenAlias']['taxTerm'] = 'domain.tax_term';
+  }
+
 }