This page is compatible with eZ Publish 5.3 / 2014.03
When using the multisite feature, it is sometimes useful to be able to generate cross-links between the different sites.
This allows to link different resources referenced in a same content repository, but configured independently with different tree roots.
links in the absolute form (e.g. using
- The first matcher succeeding always wins, so be careful when using catch-all matchers like
- If passed SiteAccess name is not a valid one, an
InvalidArgumentExceptionwill be thrown.
- If matcher used to match provided SiteAccess doesn't implement
VersatileMatcher, the link will be generated for the current SiteAccess.
- When using
Compound\LogicalAnd, all inner matchers must match. If at least one matcher doesn't implement
VersatileMatcher, it will fail.
- When using
Compound\LogicalOr, the first inner matcher succeeding will win.
Under the hood
To implement this feature, a new
VersatileMatcher was added to allow SiteAccess matchers to be able to reverse-match.
All existing matchers implement this new interface, except the Regexp based matchers which have been deprecated.
The SiteAccess router has been added a
matchByName() method to reflect this addition. Abstract URLGenerator and
DefaultRouter have been updated as well.