Custom sign-in sheets allow you to generate fully configurable PDF documents for classroom events. Unlike the standard event sign-in sheet (which supports additional columns only), document templates let you design layouts using the editor or HTML and include dynamic event, resource, and student data.
Create a Sign-In Sheet Template
- Go to the Control Panel.
- Select Document Templates.
- Click Create Template.
- Enter a name for the template.
- Under Category, select Events.
- Build your layout in the Main Content section using either the rich text (WYSIWYG) editor or HTML.
- Use the Header section for repeated content such as your logo. Headers and footers repeat on each PDF page.
- Click Submit, then Save.
Use a Sign-In Sheet
- Open your event and go to the Students tab.
- Click Options.
- Select Print Outs.
- Choose your sign-in sheet template.
- Select Preview to review the layout or Print to generate the PDF.
Build and Design Your Template
You can create templates using either the rich text editor or HTML. For simple layouts, the editor is usually sufficient. For advanced formatting or logic, use HTML.
The final output is rendered as a PDF, so styling may differ slightly from what you see in the editor. Additional control over layout and formatting is available when designing for PDF output.
Example 1: Using the Rich Text Editor
Below is an example layout created using the editor:
- Use tables (for example, a 3-column table) to structure headers and layout sections.
- Insert event details using the Merge Field picker.
- Use the Macro field to generate a student list table. This allows configuration without writing HTML.
Example 2: Using HTML
Switch to Code View to build complex layouts or add advanced logic using HTML and CSS.
Important: Switching back to the rich text editor can strip HTML formatting. If building in Code View, complete your template entirely in HTML.
Example Sign-In Sheet Template
The following example lists named students first, followed by unnamed students, and creates a new page for each event session:
{% for session in event.sessions %}
Day {{ loop.index }}: {{ session.start.strftime('%d %b %Y') }}
{{ make_table(
headers=['Name', 'Company', 'Notes', 'Signature'],
columns=[
'{{ item.contact.full_name }}',
'{% if item.contact %}{{ item.contact.account.name }}{% else %}{{ item.registration.account.name }}{% endif %}',
'',
''
],
widths=[40, 20, 20, 20],
items=event.all_students | selectattr('contact', 'ne', None) | sort(attribute='contact.full_name')
) }}
{{ make_table(
headers=['Name', 'Company', 'Notes', 'Signature'],
columns=[
'-',
'{{ item.registration.account.name }}',
'',
''
],
widths=[40, 20, 20, 20],
items=event.all_students | selectattr('contact', 'eq', None)
) }}
Total Number of Students: {{ event.all_students | length }}
Instructor Signature: ________________________
{% if not loop.last %}
{% endif %}
{% endfor %}To use this example, open a Document Template with category Events, paste the code into the Main Content section, and choose Keep when prompted to paste as HTML.