Traversable that has a fixed URL (maybe relative to parent component)
The place_url attribute of a Place determines its response to the
getURL() method. If the place_url is relative (i.e. doesn't start with
a URL scheme or a /), it is relative to the application's root URL.
Otherwise, it's absolute.
If you do not set a place_url, then it will be computed using the
instance's getComponentName(), added onto the place_url of its
getParentComponent(). If the instance has no name (i.e., its name
is None), or its parent cannot be adapted to web.IPlace, then it
assumes that it is the application's root object, and thus uses the
application root URL as its own URL. (Unless of course you've explicitly
set a place_url.)
As a special case, if the instance's name is "" (the empty string), then
it will use the same URL as its parent IPlace. This peculiarity is
useful when a component needs to be in an IPlace component tree, without
affecting the URLs of its child components.
|