What are you trying to do?
Description
The Entry link type in Hyper does not display entries from sections that have no Entry URI Format defined. When browsing the element selector modal, selecting a section with no URI format shows "Nothing yet." even though published entries exist in that section.
This appears to be because the Entry link type filters to only show entries that have URIs, since Hyper is primarily a link field. However, there are valid use cases for associating an entry that doesn't have its own URL on the site.
Use Case
We use Hyper as an association field in the Campaign plugin to link newsletter campaign items to related Craft entries. One of our campaign item types is "Research" which links to a Publication Reference structure. These entries store metadata about external academic publications:
referenceArticleTitle — Title of the published paper
publicationName — Name of the journal/publication
referenceArticleLink — External URL to the paper (stored as a field on the entry)
These entries intentionally have no Entry URI Format because they don't have their own pages on our site — they're reference data used across templates. But we still need to associate them via Hyper so the newsletter template can pull in their field data:
{% set element = row.association.getElement() %}
{% if element %}
<a href="{{ element.referenceArticleLink }}">{{ element.referenceArticleTitle }}</a>
<p>{{ element.publicationName }}</p>
{% endif %}
Currently this workflow is broken because the Entry link type won't show these entries in the picker at all.
Expected Behavior
The Entry link type element selector should display all published entries from enabled sources, regardless of whether the section has a URI format defined. The entry's URI/URL is not always the reason for the association — sometimes it's about accessing the entry's field data.
What's your proposed solution?
Perhaps an option on the Entry link type settings like "Allow entries without URIs" (default: off for backwards compatibility), or simply always show all entries and let the getUrl() method return null when no URI exists (which callers can already handle).
Additional context
Environment
Craft CMS 5
Hyper (latest)
PHP 8.2
What are you trying to do?
Description
The Entry link type in Hyper does not display entries from sections that have no Entry URI Format defined. When browsing the element selector modal, selecting a section with no URI format shows "Nothing yet." even though published entries exist in that section.
This appears to be because the Entry link type filters to only show entries that have URIs, since Hyper is primarily a link field. However, there are valid use cases for associating an entry that doesn't have its own URL on the site.
Use Case
We use Hyper as an association field in the Campaign plugin to link newsletter campaign items to related Craft entries. One of our campaign item types is "Research" which links to a Publication Reference structure. These entries store metadata about external academic publications:
referenceArticleTitle— Title of the published paperpublicationName— Name of the journal/publicationreferenceArticleLink— External URL to the paper (stored as a field on the entry)These entries intentionally have no Entry URI Format because they don't have their own pages on our site — they're reference data used across templates. But we still need to associate them via Hyper so the newsletter template can pull in their field data:
Currently this workflow is broken because the Entry link type won't show these entries in the picker at all.
Expected Behavior
The Entry link type element selector should display all published entries from enabled sources, regardless of whether the section has a URI format defined. The entry's URI/URL is not always the reason for the association — sometimes it's about accessing the entry's field data.
What's your proposed solution?
Perhaps an option on the Entry link type settings like "Allow entries without URIs" (default: off for backwards compatibility), or simply always show all entries and let the getUrl() method return null when no URI exists (which callers can already handle).
Additional context
Environment
Craft CMS 5
Hyper (latest)
PHP 8.2