I would like to set some variables for every entry within a section ('courses'), and then use those variables in loops that are filtering by entry types and categories.
Some simplified markup:
<h2>Required Courses</h2>
<ul>
{% for entry in craft.entries.section('courses').type('safsCourse') %}
<li><a href="{{ entry.url }}">{{ courseName }}</a></li>
{% endfor %}
</ul>
<h2>Elective Courses</h2>
<h3>At least one agricultural science course</h3>
<ul>
{% for entry in craft.entries.relatedTo(65) %}
<li><a href="{{ msuLink }}">{{ courseName }}</a></li>
{% endfor %}
</ul>
<h3>At least one social science course (3cr)</h3>
<ul>
{% for entry in craft.entries.relatedTo(66) %}
<li>a href="{{ msuLink }}">{{ courseName }}</a></li>
{% endfor %}
</ul>
As you can see, I'm using the variables msulink
and courseName
. The code works as intended if I include the following within each {% for entry... %}
block:
{% set courseName = entry.deptCode ~ ' ' ~ entry.courseNumber ~ ': ' ~ entry.title %}
{% set msuLink = 'https://reg.msu.edu/Courses/Request.aspx?SubjectCode=' ~
entry.deptCode ~ '&CourseNumber=' ~ entry.courseNumber ~ '#Results' %}
But I don't want to set those variables three identical times.
How can I set those variables once and use them when I'm pulling various subsets of my Course section entries?