Custom pages in AppGini are just awesome, and I'm using them a lot. There is one backdraw you might have seen: Custom Pages don't have a (browser-) title by default. That may be irritating for users, when saving custom pages as bookmarks or when sharing links. I am showing a simple PHP one-liner which defines the title of the custom page.
Problem
When loading standard AppGini pages like Table Views or Detail Views there is a specific browser title which is a concatenation of App-Title + Page-Title:

projects ("Projekte")That's fine for example when saving this page as bookmark.
But when creating custom pages, there is no default page title, so the browser title is incomplete:

Every custom page will have the identical page title, which is just the App's title.
Let's have a look at the code for a standard (almost empty) custom page:
<?php
// file: testpage.php
include("lib.php");
include("header.php");
echo '<h1>Custom Page</h1>';
include("footer.php");
This just gives a custom page with a <h1>-title but no specific browser-title.

Reason
You will see in included header.php there is a concatenation of APP_TITLE + Pipe-character | plus $x->TableTitle:
<title><?php echo APP_TITLE . (isset($x->TableTitle) ? ' | ' . $x->TableTitle : ''); ?></title>
$x is defined in Table Views, Detail Views and perhaps some other pages but not in Custom Pages.
Solution
So, let us quickly change this by defining some dummy $x variable and setting the TableTitle. Check out the following code, especially line 4:
<?php
// file: testpage.php
include("lib.php");
$x = (object)["TableTitle" => "This is my Custom Page"];
include("header.php");
echo '<h1>Custom Page</h1>';
include("footer.php");
This line 4 declares a variable named $x as a (standard-) object and sets the value of the property TableTitle to some sample-text.
And this is the (wanted) output:

It is important to declare $x->TableTitle before including header.php.
That's it. Now, saved bookmark for or shared links to Custom Pages will have a specific, customizable title.
