Как создать динамические теги имен для полей ввода с помощью Jform в компоненте Joomla
Я некоторое время искал в интернете, но не могу найти подсказок, как это сделать.
Я написал свой собственный компонент в Joomla 2.5, и пока он работает нормально. Часть компонента представляет собой форму в бэкэнде. Поля немного сложнее, но чтобы сделать это как можно более простым, это в основном так:
<input name="alpha" ....>
<input name="beta" ....>
<input name="gamma" ....>
Реализовать это с помощью jform не составило труда. Но мне нужно, чтобы эта часть формы повторялась несколько раз (как таблица).
<input name="alpha1" ....>
<input name="beta1" ....>
<input name="gamma1" ....>
<input name="alpha2" ....>
<input name="beta2" ....>
<input name="gamma2" ....>
<input name="alpha3" ....>
<input name="beta3" ....>
<input name="gamma3" ....>
...
Я не могу себе представить, было бы разумно иметь около 100 наборов полей в XML-файле, а затем использовать только некоторые из них. Поэтому следующим моим подходом было создание собственного поля costum, которое расширяет стандартное поле и добавляет еще один параметр (например, индекс), который будет использоваться для изменения тега name поля ввода. Я предполагаю, что это не сработает, поскольку я вызываю не метод getIndex() класса поля, а класса jform (а параметров всего 3).
Поэтому я не мог понять, как это сделать с помощью Jforms. Теперь у меня есть своего рода решение, использующее php для получения структуры html, но я бы предпочел сделать это с помощью jforms, чтобы я мог использовать стандартные и пользовательские поля from.
Я ценю любую помощь по этому вопросу, и я все еще новичок, поэтому, если это неправильный подход, пожалуйста, дайте мне знать.
Спасибо
1 ответ
Используйте альфа [] в качестве имени. Таким образом, когда форма публикуется, все повторяющиеся данные публикуются в виде массива.