Усы php gettext () - PullRequest
       16

Усы php gettext ()

3 голосов
/ 21 мая 2011


Я экспериментирую с kostache, "усами для каркаса кохана".

Есть ли способ использовать простые функции PHP в файлах шаблонов усов.
Я знаю логику, и поэтому методы противоречат принципу без логики проектирования, но я говорю об очень простой функциональности.

Например:

  • gettext('some text') или __('some text')
  • получить базовый URL; в кохане -> Url::site('controller/action')

Ответы [ 3 ]

3 голосов
/ 21 мая 2011

Bobthecow работает над экспериментальной функцией, которая позволит вам вызывать функцию в качестве обратного вызова.

Проверьте разделы более высокого порядка ветви репозитория и билет , чтобы пойти с ним.

0 голосов
/ 12 ноября 2017

Что ж, теперь вы можете сделать это с помощью реализации Mustache Engine в Bobthecow.Нам нужны анонимные функции здесь, которые передаются в объект шаблона вместе с другими данными.

Посмотрите на следующий пример:

<?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);

В приведенном вышеНапример, ' bold_it ' указывает на нашу функцию, которая связана с другими данными нашего шаблона.Значение ' полное имя ' передается в эту функцию в качестве параметра .

Обратите внимание, что передача параметров не является обязательной в усах.Вы даже можете вызвать функцию php без каких-либо параметров, как показано ниже:

<?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!

Кредиты: http://dwellupper.io/post/24/calling-php-functions-for-data-in-mustache-php

0 голосов
/ 25 января 2012

Вы можете использовать "ICanHaz" http://icanhazjs.com/

, а затем вы можете объявить ваши шаблоны усов как

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