Choose your database:
AnySQL
MySQL
MS SQL Server
PostgreSQL
SQLite
Firebird
Oracle
SQL Anywhere
DB2
MaxDB

Subscribe to our news:
Partners
Testimonials
Dave Lantz: "I have to say that I simple love this product and its ease of use. I know that I have only tapped into about 20% of what it can do. In my business I come into a lot of contact with developers and I tell them all, that if they need an easy way to connect, report or work their databases they MUST check out your products".
Steven Langfield: "I wanted to drop you a mail to say how freaking AMAZING your software is. It will be the best £100 I have ever spent. I have still to read all your documentation to take full advantage but what you have created is truly amazing".

More

Add your opinion

PHP Generator for MySQL online Help

Prev Return to chapter overview Next

Common templates

Common templates are applied for all pages (List, View, Edit, Insert, etc). The table below shows how to customize these templates.

 

 

State of the webpage

Page Part

Default template

Parameters

All Pages

webpage layout

common/layout.tpl

PagePart::Layout

Any PageMode

page list

page_list_menu.tpl
(for top-side menu)

 

page_list_sidebar.tpl
(for sidebar menu)

PagePart::PageList

Any PageMode

 

 

Example.

This example learns how to implement runtime language selection.

 

 

You can see it in action in our Feature Demo. To implement this feature, we have to create a template containing the language menu and instruct PHP Generator to use it.

 

Template code is as follows:

 

{include file='page_list_menu.tpl'}

<ul class="nav navbar-nav navbar-right">

    <li class="dropdown">

        <a href="#" class="dropdown-toggle" data-toggle="dropdown" 

               role="button" aria-haspopup="true" aria-expanded="false">

            {$availableLangs[$currentLang]}

            <span class="caret"></span>

        </a>

        <ul class="dropdown-menu" id="langs">

            {foreach item=lang key=key from=$availableLangs}

                {if $currentLang != $key}

                    <li><a href="#" data-lang="{$key}">{$lang}</a></li>

                {/if}

            {/foreach}

        </ul>

    </li>

</ul>

 

Event handler is as follows:

 

if ($part == PagePart::PageList)

{

    $langs = array(

        'en' => 'English',

        'de' => 'German',

        'es' => 'Spanish',

        'fr' => 'French',

    );

 

    $lang = 'en'; // default language

    

    // trying to retrieve language from cookies

    if (isset($_COOKIE['lang']) && $_COOKIE['lang'] && isset($langs[$_COOKIE['lang']])) {

        $lang = $_COOKIE['lang'];

    }

 

    $params['availableLangs'] = $langs;

    $params['currentLang'] = $lang;

    

    $result = 'custom_menu.tpl';

}

 

Almost done. Now we need to handle the language selection. This can be done with user-defined JavaScript:

 

function handleLanguageSelection() {

     $("#langs").on("click", "a", function (e) {

         var query = jQuery.query;

         query = query.set('lang', $(this).data('lang'));

         window.location = query;

         e.preventDefault();

     });

}

 

require(['jquery'], function () {

    $(function () {   

        handleLanguageSelection();

    });

});

 

That's all. Don't forget to place language files to the components/languages directory.



Prev Return to chapter overview Next