setup:
Opportunities are related in a MDR to children__c object. When my opp reaches a stage, an email alert (via workflow) gets sent out with the opp info. I want to include a list of urls for the children record related to that master opp. I did some reading- and it looks like custom components do the trick.
questions:
- is this the right approach?
- how do i pass params to the custom compoenent from the email template?
EDIT- Code:
Apex Class
public with sharing class BenefitChecklistEmailTemplateHelper {
public list <Benefit_Checklist__c> checklists;
public String oppId {get; set;}
public BenefitChecklistEmailTemplateHelper(){
system.debug('oppid :' +oppId);
this.checklists = [select id, name from Benefit_Checklist__c where Opportunity__c = :oppId];
}
}
Custom component
<apex:component controller="BenefitChecklistEmailTemplateHelper" access="global">
<apex:attribute id="oppId" assignTo="{!oppId}" name="opportunityIDFromEmail" type="ID" description="The Opporunity's SF ID"/>
<table border="0" >
<tr>
<apex:repeat var="c" value="{!Checklists}">
<tr>
<td><a href="https://na1.salesforce.com/{!c.id}">View</a> </td>
<td class="sub_section_label">Checklist Name</td><td class="sub_section_data">: {!c.id}</td>
</tr>
</apex:repeat>
</tr>
</table>
</apex:component>
Email Template
<c.BenefitChecklistEmailTemplateHelper opportunityIDFromEmail="{!relatedTo}"/>