mostly filebased Content Presentation System
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

94 líneas
2.9KB

  1. <form action="{{ @target }}" method="post">
  2. <repeat group="{{ @fields }}" key="{{ @name }}" value="{{ @info }}">
  3. <check if="{{ in_array(@info.type,['text','email']) }}">
  4. <true>
  5. <input
  6. name="{{ @name }}"
  7. id="{{ @name }}"
  8. type="{{ @info.type }}"
  9. size="{{ array_key_exists('length',@info) ? @info.length : 20 }}"
  10. value="{{ array_key_exists('value',@info) ? @info.value : '' }}"
  11. placeholder="{{ @info.description }}"
  12. {{ (array_key_exists('required',@info) && @info.required ) ? 'required' : '' }}
  13. <check if="{{ isset(@info.maxlength) }}">
  14. <true>
  15. maxlength="{{ @info.maxlength }}"
  16. </true>
  17. </check>
  18. />
  19. <!--<label for="{{ @name }}">{{ @info.description }}</label>--><br>
  20. </true>
  21. </check>
  22. <check if="{{ @info.type == 'hidden' }}">
  23. <true>
  24. <input
  25. name="{{ @name }}"
  26. id="{{ @name }}"
  27. type="hidden"
  28. value="{{ @info.value }}"/>
  29. </true>
  30. </check>
  31. <check if="{{ @info.type == 'textarea' }}">
  32. <true>
  33. <textarea
  34. name="{{ @name }}"
  35. id="{{ @name }}"
  36. cols="{{ @info.cols }}"
  37. rows="{{ @info.rows }}"
  38. placeholder="{{ @info.description }}"
  39. <check if="{{ isset(@info.maxlength) }}">
  40. <true>
  41. maxlength="{{ @info.maxlength }}"
  42. </true>
  43. </check>
  44. >{{ @info.value }}</textarea>
  45. <!--<label for="{{ @name }}">{{ @info.description }}</label>-->
  46. <br>
  47. </true>
  48. </check>
  49. <check if="{{ @info.type == 'checkbox' }}">
  50. <true>
  51. <repeat group="{{ @info.options }}" key="{{ @key }}" value="{{ @val }}">
  52. <input
  53. type="checkbox"
  54. id="{{ sprintf('%s[%s]',@name,@key) }}"
  55. name="{{ sprintf('%s[%s]',@name,@key) }}"
  56. value="true"
  57. {{ is_array(@info.checked) ? (in_array(@key,@info.checked) ? 'checked' : '') : (!strcmp(@key,@info.checked) ? 'checked' : '') }}
  58. {{ is_array(@info.required) ? (in_array(@key,@info.required) ? 'required' : '') : (!strcmp(@key,@info.required) ? 'required' : '') }} />
  59. <label for="{{ sprintf('%s[%s]',@name,@key) }}">
  60. {{ @val }}</label><br>
  61. </repeat>
  62. </true>
  63. </check>
  64. <check if="{{ @info.type == 'radio' }}">
  65. <true>
  66. <div class="radio-group {{ @name }}">
  67. <repeat group="{{ @info.options }}" key="{{ @key }}" value="{{ @val }}">
  68. <input
  69. type="radio"
  70. id="{{ sprintf('%s-%s',@name,@key) }}"
  71. name="{{ sprintf('%s',@name) }}"
  72. value="{{ @key }}"
  73. {{ @info.required ? 'required' : '' }}
  74. {{ is_array(@info.checked) ? (in_array(@key,@info.checked) ? 'checked' : '') : (!strcmp(@key,@info.checked) ? 'checked' : '') }} />
  75. <label for="{{ sprintf('%s-%s',@name,@key) }}">
  76. {{ @val }}</label>
  77. </repeat>
  78. </div>
  79. </true>
  80. </check>
  81. <check if="{{ @info.type == 'custom' }}">
  82. <include href="{{ @info.template }}" with="elements={{ @info.el }},parent={{ @name }},options={{ @info.options }}" />
  83. </check>
  84. </repeat>
  85. <button type="submit" >{{ @submit_text ? : 'save' }}</button>
  86. </form>