ts('Membership Fee'), 'id' => ts('Membership ID'), 'join_date' => ts('Membership Join Date'), 'start_date' => ts('Membership Start Date'), 'end_date' => ts('Membership End Date'), 'status_id:label' => ts('Membership Status'), 'membership_type_id:label' => ts('Membership Type'), ], CRM_Utils_Token::getCustomFieldTokens('Membership') ); } /** * @inheritDoc * @throws \CiviCRM_API3_Exception */ public function evaluateToken(\Civi\Token\TokenRow $row, $entity, $field, $prefetch = NULL) { if ($field === 'fee') { $membershipType = CRM_Member_BAO_MembershipType::getMembershipType($this->getFieldValue($row, 'membership_type_id')); $row->tokens($entity, $field, \CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency($membershipType['minimum_fee'])); } else { parent::evaluateToken($row, $entity, $field, $prefetch); } } /** * Get fields which need to be returned to render another token. * * @return array */ public function getDependencies(): array { return ['fee' => 'membership_type_id']; } }