0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 1599 Просмотров
*

effrit

  • Легенда
  • 9970
  • 1099 / 13
  • effrit.com
Всем прювет! (особенно - программерам  ;D)
Стало мне внезапно интересно, как работают динамически размножаемые поля в настройках, скажем, модуля.
С этим проблем нет: добавляем multiple="true" и все работает.
Но если создать размножаемую таким способом субформу (type="subform"), то внутри неё поля не реагируют на наличие multiple.

т.е. вот такая конструкция не пашет:
Код
<?xml version="1.0" encoding="UTF-8"?>
<form>
    <field name="question" type="textarea" label="Question" cols="40" rows="8"/>
<fieldset name="answers">
<field name="answer" type="text" label="answer" multiple="true" />
</fieldset>
</form>

и выводит единственный answer, а хотелось бы его размножить.

кто поможет - тот умнее меня!  ;D
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
а как ты собрался для type="text" делать multiple?)
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
а разве нельзя? я думал, любое поле можно размножить
размножить и multiple это разные вещи)
multiple применяется для списков

вот тебе пример с рабочего
Код
	<config>
<fields name="params">
<fieldset name="basic" addfieldpath="/plugins/jshoppingproducts/dopfields/fields">
<field name="fields" type="subform" formsource="plugins/jshoppingproducts/dopfields/table.xml" min="1" max="30" multiple="true" layout="joomla.form.field.subform.repeatable-table" groupByFieldset="true" label="Subform Field" description="Subform Field Description" />
</fieldset>
</fields>
</config>

plugins/jshoppingproducts/dopfields/table.xml

Код
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fieldset name="list_templates_modal" label="Блоки">
<field name="number" label="Номер*" type="text" filter="int" />
<field name="name" label="Название вкладки" type="text" />
</fieldset>
</form>

и размножай их сколько хочешь
*

Septdir

  • Живу я здесь
  • 3364
  • 168 / 4
Свой тип сделай и не парься.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

effrit

  • Легенда
  • 9970
  • 1099 / 13
  • effrit.com
SmokerMan, у меня основной контейнер размножается.

Т.е. я могу создать несколько пар Вопрос-Ответ.
А мне надо, чтобы внутри каждой пары я ещё и Ответ мог размножить
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
ну попробуй в форму вставить
Цитировать
<?xml version="1.0" encoding="UTF-8"?>
<form>
    <field name="question" type="textarea" label="Question" cols="40" rows="8"/>
   <fieldset name="answers">
      <field name="fields" type="subform" formsource="путь до xmll" />
   </fieldset>
</form>

хз может прокатит)
ну или свой тип сделать как выше написали и там уже выводить как надо и что надо
*

effrit

  • Легенда
  • 9970
  • 1099 / 13
  • effrit.com
не, Joomla не готова к такому )). Матрица разваливается.
Скорее всего, subform - это строго второй уровень, попытка сделать его третим разваливает форму и добавляет поля на уровень основного контейнера.
а свой тип - это не для среднего ума. но не критично, в моем случае. просто хотелось по красоте, а мир не готов оказался ))
*

gartes

  • Завсегдатай
  • 1643
  • 127 / 5
  • Е = mс²
Код
<field name="fileJsRules" type="subform" multiple="true"
   formsource="plugins/system/[<!-- PLUGIN NAME -->]/exampleform.xml"
   label="Subform Field" description="Subform Field Description" />
Код Файла plugins/system/[<!-- PLUGIN NAME -->]/exampleform.xml
Код
<?xml version="1.0" encoding="UTF-8"?>
<form>
    <fieldset name="section1" label="Section1">
        <field name="example_text" type="text" label="Example Text"/>
        <field name="example_textarea" type="textarea" label="Example Textarea" cols="40" rows="8"/>
    </fieldset>
    <fieldset name="section2" label="Section2">
        <field name="example_list"
               type="list"
               multiple="true"
               default=""
               class="advancedSelect"
               label="Example List">
            <option value="One">One</option>
            <option value="Two">Two</option>
            <option value="three">three</option>
            <option value="four">four</option>
            <option value="five">five</option>
        </field>
    </fieldset>
</form>
И Все должно работать ..... !
Возможно после добавления строки нужно обновить списки - к примеру тот же chosen
Тогда нужно повесить слушателя на событие после добавления строки формы.
Код
document.addEventListener("DOMContentLoaded", function () {   
     jQuery(document).on('subform-row-add', function(event, row){
        jQuery(row).find('select').chosen();
    })
});
Тогда выпадающие списки будут работать ...


Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отображается поле мета-тег в админке Joomla

Автор maxim_prog

Ответов: 0
Просмотров: 76
Последний ответ 03.02.2021, 12:49:57
от maxim_prog
Возможно ли создать подматериал?

Автор Ros

Ответов: 3
Просмотров: 138
Последний ответ 18.01.2021, 18:55:16
от dm-krv
Вывести кастомное поле материала в результатах поиска

Автор zeus07

Ответов: 2
Просмотров: 130
Последний ответ 28.12.2020, 23:40:36
от zeus07
Некорректно заполнено поле: HTML-тег модуля

Автор vasiok4

Ответов: 1
Просмотров: 138
Последний ответ 26.11.2020, 15:41:17
от Kostelano
Поле Редактор

Автор Evgenii_web

Ответов: 1
Просмотров: 107
Последний ответ 25.11.2020, 21:56:08
от pavelrer