{page 'name'} builds another page of the same application in a nested engine
pass and puts its output where the tag stands. It is not a second request: the page's PHP runs
in this request, its template renders, and the result is the tag's value. The page is named
from the application root, as in a URL, and resolved as the router resolves one - a directory
means its index, a .html template counts, and a clean URL route
binds its segments, so {page 'products/42'} renders products/[id].pad
with $id set to 42.
By default the page renders bare (include is TRUE): the
_inits.pad and _exits.pad wrappers are not added a second time.
The page's directory guards still decide - a _guard.php that refuses makes the
tag render as nothing instead of refusing the whole request. A page that does not exist is an
error under the strict check; without it the tag is empty and the rest of the page lives.
A plain {page} shares the request: it reads the variables set before it, and
what its PHP creates stays behind for the rest of the page. Four options change that, the same
four {code} takes:
sandbox - the page sees nothing of the page around it and leaves nothing
behind (the {sandbox} tag runs content this way);reset - the levels and stores are cleared for the pass, the variables
stay;clean - the page sees everything, but what it changes is undone
afterwards;function='name' - the page's PHP runs inside a PHP function, with a scope
of its own.With app='other' the page belongs to another application, with its own
configuration, _lib and database, so it cannot be built here: it is fetched over
HTTP. By default the browser fetches it, as {ajax} does;
ajax=false has the server fetch it and insert its body. For a page of this
application fetched as a real second request, see {get}.