Я работаю над формой редактирования профиля Joomla. Я хочу изменить используемую разметку, в основном для добавления классов CSS. В принципе очень простые вещи. Дело в том, что поля формы обрабатываются Joomla и приведены в цикле, как это:joomla form markup
<?php foreach($this->form->getFieldsets() as $fieldset):?>
<?php $fields = $this->form->getFieldset($fieldset->name);?>
<?php foreach($fields as $field):?>
<?php echo $field->label; ?>
<?php echo $field->input;?>
<?php endforeach;?>
<?php endforeach;?>
Extensions может добавить свои собственные поля в петлю так входы по умолчанию не может быть жестко закодированы. Например, я не знаю, как добавить класс в метку ввода. Чтобы изменить атрибуты ввода, я попытался использовать JForm::setFieldAttribute
, но, похоже, это не имеет никакого эффекта при использовании с переопределением. У кого-нибудь есть подсказки?
Класс должен быть применен в какой-то момент до этого. В противном случае, как этот цикл знает, к каким элементам добавить классы? Где определены элементы формы? – isherwood
@isherwood Это вопрос. Цикл представляет собой упрощенную версию из той, которая включена в K2. Но если я не ошибаюсь, это цикл формы по умолчанию с Joomla 1.6. Все свойства поля ранее определены в файлах xml. Мой вопрос в том, могу ли я изменить их внутри или до цикла, но из этого файла переопределения. – PapayaGiver