3 Stimmen

Mustache php gettext()

Ich experimentiere mit kostache, "Schnurrbart für kohana framework".

Gibt es eine Möglichkeit, einfache PHP-Funktionen in Mustache-Vorlagendateien zu verwenden?
Ich weiß, dass Logik und damit Methoden gegen das Prinzip des logiklosen Designs verstoßen, aber ich spreche hier von einer sehr einfachen Funktionalität.

Zum Beispiel:

  • gettext('some text') o __('some text')
  • die Basis-URL erhalten; in kohana -> Url::site('controller/action')

3voto

The Pixel Developer Punkte 13044

Bobthecow arbeitet an einer experimentellen Funktion, die es Ihnen ermöglicht, eine Funktion als Callback aufzurufen.

Überprüfen Sie die übergeordnete Abschnitte Zweig des Repositorys und das Ticket die dazu passen.

0voto

Pawel Wodzicki Punkte 16079

Sie könnten "ICanHaz" verwenden. http://icanhazjs.com/

und dann können Sie Ihre Schnurrbartvorlagen als

<script id="welcome" type="text/html">
<p>Welcome, {{<?php echo __('some text') ?>}}! </p>
</script>

0voto

Pranav Rana Punkte 351

Nun, mit Bobthecows Implementierung der Mustache Engine können Sie das jetzt tun. Wir brauchen anonyme Funktionen die zusammen mit anderen Daten an das Template Object übergeben werden.

Schauen Sie sich das folgende Beispiel an:

<?php
$mustache = new Mustache_Engine;
# setting data for our template
$template_data = [
    'fullname' => 'HULK',
    'bold_it' => function($text){
        return "<b>{$text}</b>";
    }
];
# preparing and outputting
echo $mustache->render("{{#bold_it}}{{fullname}}{{/bold_it}} !", $template_data);

In dem obigen Beispiel wird ' fett_ist ' verweist auf unsere Funktion, die zusammen mit anderen Daten an unsere Vorlage weitergegeben wird. Der Wert von ' vollständiger Name ' wird übergeben als Parameter zu dieser Funktion.

Bitte beachten Sie, dass die Übergabe von Parametern in Mustache nicht zwingend erforderlich ist. Sie können die PHP-Funktion auch ohne Parameter aufrufen, wie folgt:

<?php
# setting data for our template
$template_data = [
    'my_name' => function(){
        return 'Joe';
    }
];
# preparing and outputting
echo $mustache->render("{{my_name}} is a great guy!", $template_data); # outputs: Joe is a great guy!

Credits: http://dwellupper.io/post/24/calling-php-functions-for-data-in-mustache-php

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X