General

  eZ Systems Website
  Technical documentation
  Editor documentation

This Documentation contains:
 
Technical documentation:



⚠ WARNING ! This documentation is deprecated !

Please go to the current Technical Documentation

Skip to end of metadata
Go to start of metadata

When using the multisite feature, it is sometimes useful to be able to generate cross-links between the different sites.
This allows you to link different resources referenced in the same content repository, but configured independently with different tree roots.

Twig example
See ez_urlalias documentation page, for more information about linking to a Location

 

 

PHP example
 

Important

As siteaccess matchers can involve hosts and ports, it is highly recommended to generate cross-siteaccess links in an absolute form (e.g. using url() Twig helper).
  • The first matcher succeeding always wins, so be careful when using catch-all matchers like URIElement.
  • If passed siteaccess name is not a valid one, an InvalidArgumentException will be thrown.
  • If matcher used to match the 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.

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.

Note

Siteaccess router public methods have also been extracted to a new interface, SiteAccessRouterInterface.

 

1 Comment

  1. Hi, in the PHP code example, since you meant to generate absolute URL's, you need to pass the constant UrlGeneratorInterface::ABSOLUTE_URL to $this->generateUrl instead of UrlGeneratorInterface::ABSOLUTE_PATH.