To have cleaner, dry code in your shared code block you can do something like this: {% set entry = entry is defined ?: false %} {% set category = category is defined ?: false %} {% set model = entry is defined ?: category is defined ?: false %} Then your two variables `entry` and `category` will always be defined, which allows you to use short ternary syntax in your print expressions. You will also have access to a new var `model`, which holds the Entry Model or the Category Model is one is set. <div class="myDefaultClass {{ entry ? ' myEntryClass' }}"> {{ model.title }} </div>