General

  eZ Systems Website
  Editor documentation


  Developer documentation

  Back to the top

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description

Knowledge of the root location is important since it can be a starting point for API queries, or even links to home page, but as eZ Platform can be used for multisite development, the root location can vary.

By default, the root location ID is 2, but as it can be easily be changed by configuration, the best practice is to retrieve it dynamically.

Solution

Retrieving root location ID

Root location ID can be retrieved easily from  ConfigResolver. The parameter name is  content.tree_root.location_id .

Code Block
languagephp
titleIn a controller
<?php
namespace Acme\TestBundle\Controller;

use eZ\Bundle\EzPublishCoreBundle\Controller;


class DefaultController extends Controller
{
    public function fooAction()
    {
        // ...
 
        $rootLocationId = $this->getConfigResolver()->getParameter( 'content.tree_root.location_id' );
 
        // ...
    }
}

Retrieving the root location

From a template

Root location is exposed in the global Twig helper.

Code Block
languagehtml/xml
titleMaking a link to homepage
<a href="{{ path( ezpublish.rootLocation ) }}" title="Link to homepage">Home page</a>

From a controller

Code Block
languagephp
<?php
namespace Acme\TestBundle\Controller;

use eZ\Bundle\EzPublishCoreBundle\Controller;

class DefaultController extends Controller
{
    public function fooAction()
    {
        // ...

        $rootLocation = $this->getRootLocation();

        // ...
    }
}

 

 

In this topic:

Table of Contents
maxLevel3