Joomla 3 Редактирование табличных данных в административной части

  • 3 Ответов
  • 467 Просмотров

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

*

Оффлайн neorad

Доброго времени суток. Столкнулся с проблемой при разработке компонента:
Хотелось бы в административной части реализовать список полей из БД и на этой же форме его редактировать, сейчас сделал редактирование только одного  элемента с вызовом отдельной офрмы.

Пример такого списка есть в компоненте k2_store раздел "products" index.php?option=com_k2store&view=products
Хотелось бы освоить это метод

Данные из БД выводятся таким образом(поле выводит колонки "model,vendor,prefix"):
<input type="text"  name="item[<?php echo $item->id;?>][model]" size="4" value="<?php echo $item->model?>" class="text-area-model" />
<input type="text"  name="item[<?php echo $item->id;?>][vendor]" size="3" value="<?php echo $item->vendor?>"class="text-area-vendor" />
<input type="text"  name="item[<?php echo $item->id;?>][typeprefix]" size="3" value="<?php echo $item->typeprefix?>" class="text-area-typeprefix" />

Далее на форме есть кнопка с таким кодом:
<input type="button" class="btn btn btn-success" onclick="Joomla.submitbutton('saveAll')" value="Сохранить список">

Еще есть скрипт
<script type="text/javascript">
Joomla.submitbutton = function(task)
{
console.log(task);
if (task == 'saveAll')
{
Joomla.submitform(task, document.getElementById('adminForm'));
}
}


/* Method to Enable single Product using
* params HTML
* return value of the HTML
*/

Joomla.enableMe=function(meHtml)
{
if(meHtml.checked==true)
{
meHtml.value=1;
console.log(meHtml.value);
}else{
meHtml.value=0;
console.log(meHtml.value);
}
}
}
</script>

Кто нибудь сталкивался с таким подходом, как он работает? Как его правильно адаптировать под свой компонент ?
Цель- на одной странице вывести список полей, дать пользователю их заполнить и по нажатию кнопки записать данные в БД.

*

Оффлайн AlekVolsk

Вам в модели придется переопределять метод save(), чтобы он сохранял ваши изменения. А вообще, имхо, велосипед изобретаете.

*

Оффлайн neorad

Вам в модели придется переопределять метод save(), чтобы он сохранял ваши изменения. А вообще, имхо, велосипед изобретаете.

Есть способ проще? Мне бы пример наглядный, второй велик не нужен =)