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>