Я пытаюсь создать набор упрощенных функций, чтобы позволить пользователю создать шаблон ветки, который будет отображаться в виде формы.
Форма, при выполнении которой должна считывать самостоятельно сгенерированный массив данных.
Приведенный ниже код должен напечатать поле с именем ‘hello’, при отправке (с примером значения ‘world’) создать ключ массива hello и отобразить связанное поле со значением ‘world’.
Пример шаблона:
{{configkey('hello', 'Hello Field')}}
Функция расширения
$func = new Twig_SimpleFunction('configkey', function ($key='example', $label='label') {
echo '<div class="control-group">';
echo '<label class="control-label" for="' . $key . '">' . $label . '</label>';
echo '<div class="controls">';
echo '<input type="text" name="' . $key . '" value="{{config.' . $key . '}}"/>';
echo '</div>';
echo '</div>';
});
$ Это -> _ twigEnv-> AddFunction ( ‘configkey’, $ FUNC);
выход
Спасибо всем за помощь, но я нашел решение проще, чем ожидалось ..
$func = new Twig_SimpleFunction('configkey', function ($key='example', $label='label', $value='') {
echo '<div class="control-group">';
echo '<label class="control-label" for="' . $key . '">' . $label . '</label>';
echo '<div class="controls">';
echo '<input type="text" name="' . $key . '" value="' . $value . '"/>';
echo '</div>';
echo '</div>';
});
Звонок будет
{{configkey('hello', 'Hello Field', config.hello)}}
У вас есть лучший подход к привязке, просто используя параметр ключа?
Других решений пока нет …