Нужно было сделать элемент, который красиво выводил бы несколько видео из контакта. Он прекрасно работает через админку, но при попытке добавить видео с фронта, данные в полях просто не сохраняются. Уже всю голову сломала, не могу понять в чем проблема.
Вот как это выглядит на сайте.

Вот как это выглядит в админке.

Код элемента.
defined('_JEXEC') or die('Restricted access');
App::getInstance('zoo')->loader->register('ElementRepeatable', 'elements:repeatable/repeatable.php');
class ElementVideo extends ElementRepeatable implements iRepeatSubmittable {
protected function _hasValue($params = array()) {
$videoid = $this->get('videoid', $this->config->get('default'));
$number = $this->get('number', $this->config->get('default'));
$value = $this->get('value', $this->config->get('default'));
return !empty($videoid) || !empty($number) || !empty($value) || $value === '0';
}
protected function _getSearchData() {
return $this->get('videoid', $this->config->get('default')).','.$this->get('number', $this->config->get('default')).','.$this->get('value', $this->config->get('default'));
}
protected function _edit($params = array()) {
$html = array();
$html[] = $this->app->html->_('control.text', $this->getControlName('videoid'), $this->get('videoid', $this->config->get('default')), 'size="60" maxlength="255" placeholder="id"');
$html[] = $this->app->html->_('control.text', $this->getControlName('number'), $this->get('number', $this->config->get('default')), 'size="60" maxlength="255" placeholder="Номер серии"');
$html[] = $this->app->html->_('control.text', $this->getControlName('value'), $this->get('value', $this->config->get('default')), 'size="60" maxlength="255" placeholder="Код vk"');
return implode("", $html);
}
public function _render($params = array()) {
$string = $this->get('value');
$html = array();
$html[] = '<div class="button-ani" id="'. $this->get('videoid').'">';
$html[] = '<a target="my-frame" href="'. substr($string, 13, -10).'">'. $this->get('number').'</a>';
$html[] = '</div>';
return implode("", $html);
}
public function _renderSubmission($params = array()) {
return $this->_edit($params);
}