modx-combo-boolean страное поведение при сохранени
        Всем привет. Решил написать компонент один полезный и приспичило в админке сделать 2 поля с типом modx-combo-boolean и выводом вариантов ответов Да/Нет. В файле с всплывающим окном указано вот что:
 
 
тоже самое указано и у второго поля
    
    
                                                                                
            {
                            xtype: 'modx-combo-boolean',
                            fieldLabel: _('seopanel_sites_yaca'),
                            name: 'yaca',
                            hiddenName:'yaca',
                            id: config.id + '-yaca',
                            anchor: '99%',
                        },тоже самое указано и у второго поля
{
                            xtype: 'modx-combo-boolean',
                            fieldLabel: _('seopanel_sites_dmoz'),
                            name: 'dmoz',
                            hiddenName:'dmoz',
                            id: config.id + '-dmoz',
                            anchor: '99%',
                        },В файле seoPanel\core\components\seopanel\processors\mgr\sites\update.class.php прописал следующее:$this->setProperty('yaca',  $this->getProperty('yaca') == 'true' ? 1 : 0);
$this->setProperty('dmoz',  $this->getProperty('dmoz') == 'true' ? 1 : 0);В базу сохраняется 1 или 0, НО ТОЛЬКО У ОДНОГО ПОЛЯ. Почему так происходит не пойму. Если у двух полей выбрать «ДА» сразу, то сохраняется нормально, так же если сразу у двух полей «НЕТ» выбрать, но если один сохранён как «ДА» и пробовать второе поле сохранить как «ДА», то у первого поля сохраняется НЕТ, а у второго ДА. Что делать? Глаз уже замылился(((    Комментарии: 3
                На вскидку вроде правильно. Определять setProperty нужно в beforeSet().
Попробуй в функции beforeSave() выгрузить свойства в журнал и посмотри чего пишется
                    Попробуй в функции beforeSave() выгрузить свойства в журнал и посмотри чего пишется
public function beforeSave() {
    $this->modx->log(modX::LOG_LEVEL_ERROR, print_r($this->getProperties(),1));
    return true;
}            [2015-08-07 20:17:23] (ERROR @ /seoPanel/assets/components/seopanel/connector.php) Array
(
    [action] => mgr/sites/update
    [id] => 4
    [domain] => rapcorp.net
    [tic] => 10
    [yaca] => 1
    [yaindex] => 0
    [gooindex] => 0
    [liveinternet] => 0
    [active] => 1
    [domainend] => 0
    [pr] => 3
    [dmoz] => 0
    [yaindex_up] => 0
    [gooindex_up] => 0
    [sorting_id] => 0
)
[2015-08-07 20:17:28] (ERROR @ /seoPanel/assets/components/seopanel/connector.php) Array
(
    [action] => mgr/sites/update
    [id] => 4
    [domain] => rapcorp.net
    [tic] => 10
    [yaca] => 0
    [yaindex] => 0
    [gooindex] => 0
    [liveinternet] => 0
    [active] => 1
    [domainend] => 0
    [pr] => 3
    [dmoz] => 1
    [yaindex_up] => 0
    [gooindex_up] => 0
    [sorting_id] => 0
)Вот что в консоли ошибок появилось            
                Вот сама функция из процессоров sites/update
                    public function beforeSet() {
		$id = (int)$this->getProperty('id');
		$domain = trim($this->getProperty('domain'));
		if (empty($id)) {
			return $this->modx->lexicon('seopanel_sites_err_ns');
		}
        $this->setProperty('yaca',  $this->getProperty('yaca') == 'true' ? 1 : 0);
        $this->setProperty('dmoz',  $this->getProperty('dmoz') == 'true' ? 1 : 0);
		if (empty($domain)) {
			$this->modx->error->addField('domain', $this->modx->lexicon('seopanel_sites_err_name'));
		}
		elseif ($this->modx->getCount($this->classKey, array('domain' => $domain, 'id:!=' => $id))) {
			$this->modx->error->addField('domain', $this->modx->lexicon('seopanel_sites_err_ae'));
		}
		return parent::beforeSet();
	}            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.