Перейти к содержимому


Фотография
- - - - -

Помогите разобраться со своим элементом


Лучший Ответ Cheren-dow , 26 December 2015 - 12:35

PlanB, здравствуйте был, занят разработкой JBZoo и затерялось ваше сообщение. Добавьте в класс элемента следующий метод:

public function _validateSubmission($value, $params)
{
    return array(
        'level1' => $this->app->validator->create('textfilter', array('required' => $params->get('required')))->clean($value->get('level1')),
        'level2' => $this->app->validator->create('textfilter', array('required' => $params->get('required')))->clean($value->get('level2')),
        'level3' => $this->app->validator->create('textfilter', array('required' => $params->get('required')))->clean($value->get('level3')),
    );
}
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 12

#1 PlanB

PlanB

Отправлено 20 December 2015 - 20:02

Привет!

 

есть повторяемый элемент с тремя текстовыми полями. В админке подача материалов происходит нормально. а через фронт не работает. Не показывает внесенные матералы и не вносит новые. в чем проблема?

<?php
// Запрещаем прямой доступ к файлу
defined('_JEXEC') or die('Restricted access');

// Регистрируем ElementRepeatable class

App::getInstance('zoo')->loader->register('ElementRepeatable', 'elements:repeatable/repeatable.php');

class ElementTriText extends ElementRepeatable implements iRepeatSubmittable {

 / проверка введенности полей элемента /

 protected function _hasValue($params = array()) {
  return true;
 }
 
 / добавление в поиск данных элемента /
 protected function _getSearchData() {
  return $this->get('title', $this->config->get('default'));
 }
 
    / Добавляем возможность подачи и редактирования в админке /
    protected function _edit()
  {
   if ($layout = $this->getLayout('edit.php')) {
    return $this->renderLayout($layout);
   }
   return false;

 }
 
  
    / Добавлем возмождность редактировать с фронта  /
    public function _renderSubmission($params = array()) {
        return $this->_edit();
 }
  
  
    / Вывод результатов /
    public function _render($params = array())
    {
        if ($layout = $this->getLayout($params->get('template', 'default.php'))){
            return $this->renderLayout($layout);
        }
        return false;
    }


//Валмдация элемента (в данном случае валидации нет)
 

}

Сообщение отредактировал PlanB: 21 December 2015 - 13:17

  • 0

#2 PlanB

PlanB

Отправлено 21 December 2015 - 13:28

Все еще актуально.


  • 0

#3 Cheren-dow

Cheren-dow

Отправлено 21 December 2015 - 13:37

PlanB, можете приложить архив с вашим элементом? 


  • 0
Изображение
 

#4 PlanB

PlanB

Отправлено 21 December 2015 - 13:50

PlanB, можете приложить архив с вашим элементом? 

 

Готово Прикрепленный файл  tritext.zip   2.79К   53 Количество загрузок:

 

Повторяемый элемент с одним полем - получается без проблем. А с тремя - работает только из админки. Просмотр и изучение чужих элементов пока не дал толку.


Сообщение отредактировал PlanB: 21 December 2015 - 14:09

  • 0

#5 Cheren-dow

Cheren-dow

Отправлено 21 December 2015 - 14:48

PlanB, скорей всего уже завтра или сегодня позже посмотрю и отпишусь. 


  • 0
Изображение
 

#6 PlanB

PlanB

Отправлено 22 December 2015 - 11:27

Есть какие то идеи?


  • 0

#7 Cheren-dow

Cheren-dow

Отправлено 22 December 2015 - 11:41

PlanB, здравствуйте еще не смотрел ваш элемент, как по смотрю отпишусь.


  • 0
Изображение
 

#8 PlanB

PlanB

Отправлено 23 December 2015 - 15:41

Подвисончик образовался... все остальное по сайту практически доделал уже. Остался только этот элемент.


  • 0

#9 PlanB

PlanB

Отправлено 24 December 2015 - 10:27

Актуально..


  • 0

#10 PlanB

PlanB

Отправлено 25 December 2015 - 19:49

Актуально....


  • 0




Click to return to top of page in style!