ТС, вы упрекаете меня в ведении "тезисного чата", но сами не выкладывали ни одной строки собственного кода. Я не стал бы дальше писать здесь, если бы тема не заинтересовала меня.
Извините, если выразился грубо или не уважительно. Этих целей не преследовал, поверьте.
Правильно ли я понял вашу идею?
- создаете свой класс типа поля my_type с:
input type="text" (категория) +
кнопкой "Добавить", которая добавляет другой input (appenChild(), позиция) +
кнопкой "Удалить", которая удаляет последний (removeChild(), позиция)
class JFormFieldMy_type extends JFormField
{
protected $type = 'My_type';
protected function getInput()
{
$html = '
<input name="price_category" type="text" >
<input name="price_add" type="button" value="Добавить"> // добавляем позицию (input text)
<input name="price_remove" type="button" value="Удалить"> // удаляем добавленную позицию input text
';
return $html;
}
}
- в XML создаете my_type_list, тип Repeatable, в котором в fieldset name="my_type_list_modal" сидит ваш my_type.
<field name="my_type_list"
type="Repeatable"
icon="list"
label="Заголовок 1"
description=""
select="Добавить"
default="">
<fieldset hidden="true" name="my_type_list_modal" repeat="true" description="">
<field name="price" label ="Заголовок 2" type="my_type" description="" />
</fieldset>
</field>
Если я все правильно понял, то на выходе мы получим что-то типа:
Но если я правильно понял вашу идею, то ранее предложенная
SmokerMan-ом идея более соответствует задаче, которую я описывал и соответствует скрину из первого поста. Но и в том, и в вашем примере для меня не решенным остается вопрос, который подчеркнул
dmitry_stas. Например, мне нужно не просто текстовое поле для позиции, а каждая позиция в категории должна содержать несколько стандартных полей Joomla, например type="text", type="sql" и type="media". Как их использовать в getInput в JFormFieldMy_type. Опять же, благодаря идее
Филиппа Сорокина проблема для меня решена, но остается ощущение, что мог быть и более изящный способ вместо скрытого поля.