2017 © Pedro Peláez
 

library jaxon-twig

Jaxon view renderer for the Twig template engine

image

jaxon-php/jaxon-twig

Jaxon view renderer for the Twig template engine

  • Thursday, June 29, 2017
  • by lagdo
  • Repository
  • 1 Watchers
  • 0 Stars
  • 41 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 5 % Grown

The README.md

Jaxon View for Twig

Render Twig templates in Jaxon applications., (*1)

Installation

Install this package with Composer., (*2)

"require": {
    "jaxon-php/jaxon-twig": "^5.0"
}

Usage

For each directory containing Twig templates, add an entry to the app.views section in the configuration., (*3)

    'app' => [
        'views' => [
            'demo' => [
                'directory' => '/path/to/demo/views',
                'extension' => '.html.twig',
                'renderer' => 'twig',
            ],
        ],
    ],

In the following example, the DOM element with id content-id is assigned the value of the /path/to/demo/views/sub/dir/file.html.twig template., (*4)

class MyClass extends \Jaxon\App\FuncComponent
{
    public function action()
    {
        $this->response->html('content-id', $this->view()->render('demo::/sub/dir/file'));
    }
}

Twig functions

This extension provides the following Twig functions to insert Jaxon js and css codes in the pages that need to show Jaxon related content., (*5)

// /path/to/demo/views/sub/dir/file.html.twig


{{ jxnCss() }}
</head>

<body>



</body>


{{ jxnJs() }}

{{ jxnScript() }}

Call factories

This extension registers the following Twig functions for Jaxon call factories functions., (*6)

[!NOTE] In the following examples, the rqAppTest template variable is set to the value rq(Demo\Ajax\App\AppTest::class)., (*7)

The jxnBind function attaches a UI component to a DOM element, while the jxnHtml function displays a component HTML code in a view., (*8)

    <div class="col-md-12" {{ jxnBind(rqAppTest) }}>
        {{ jxnHtml(rqAppTest) }}
    </div>

The jxnPagination function displays pagination links in a view., (*9)

    <div class="col-md-12" {{ jxnPagination(rqAppTest) }}>
    </div>

The jxnOn function binds an event on a DOM element to a Javascript call defined with a call factory., (*10)

    <select class="form-select"
        {{ jxnOn('change', rqAppTest.setColor(jq().val())) }}>
        <option value="black" selected="selected">Black</option>
        <option value="red">Red</option>
        <option value="green">Green</option>
        <option value="blue">Blue</option>
    </select>

The jxnClick function is a shortcut to define a handler for the click event., (*11)

    <button type="button" class="btn btn-primary"
        {{ jxnClick(rqAppTest.sayHello(true)) }}>Click me</button>

The jxnEvent function defines a set of events handlers on the children of a DOM element, using jQuery selectors., (*12)

    <div class="row" {{ jxnEvent([
        ['.app-color-choice', 'change', rqAppTest.setColor(jq().val())]
        ['.ext-color-choice', 'change', rqExtTest.setColor(jq().val())]
    ]) }}>
        <div class="col-md-12">
            <select class="form-control app-color-choice">
                <option value="black" selected="selected">Black</option>
                <option value="red">Red</option>
                <option value="green">Green</option>
                <option value="blue">Blue</option>
            </select>
        </div>
        <div class="col-md-12">
            <select class="form-control ext-color-choice">
                <option value="black" selected="selected">Black</option>
                <option value="red">Red</option>
                <option value="green">Green</option>
                <option value="blue">Blue</option>
            </select>
        </div>
    </div>

The jxnEvent function takes as parameter an array in which each entry is an array with a jQuery selector, an event and a call factory., (*13)

Contribute

  • Issue Tracker: github.com/jaxon-php/jaxon-twig/issues
  • Source Code: github.com/jaxon-php/jaxon-twig

License

The package is licensed under the BSD license., (*14)

The Versions

29/06 2017

dev-master

9999999-dev https://github.com/jaxon-php/jaxon-twig

Jaxon view renderer for the Twig template engine

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

twig template php ajax view xajax jaxon

29/06 2017

v2.0.0

2.0.0.0 https://github.com/jaxon-php/jaxon-twig

Jaxon view renderer for the Twig template engine

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

twig template php ajax view xajax jaxon

27/06 2017

dev-analysis-qyE17G

dev-analysis-qyE17G https://github.com/jaxon-php/jaxon-twig

Jaxon view renderer for the Twig template engine

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

twig template php ajax view xajax jaxon

26/05 2017

v2.0-beta.1

2.0.0.0-beta1 https://github.com/jaxon-php/jaxon-twig

Jaxon view renderer for the Twig template engine

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

twig template php ajax view xajax jaxon