@sgidlev

Как поменять места поля в форме в Yii?

Приветствую.
Уже два дня мучаюсь с формой добавления объявления на сайте. Никак не могу понять как поменять места поля формы при выводе.

Вот код:

<div class="tab-pane active" id="tab-main">


<?php 
$callFrom = (isset($callFrom)) ? $callFrom : null;
echo CHtml::hiddenField('is_update', 0);
?>

<?php if(isset($callFrom) && $callFrom == 'guestAdModule' && Yii::app()->user->hasState('guest_ad_sessionid')):?>
	<?php if($model->type != Apartment::TYPE_BUY && $model->type != Apartment::TYPE_RENTING) :?>
		<div class="clear">&nbsp;</div>
			<div class="rowold">
				<label for=""><?php echo tc('Photos for listing'); ?></label>
				<?php
					$this->widget('application.modules.images.components.GuestAdImagesWidget', array(
						'sessionId' => Yii::app()->user->getState('guest_ad_sessionid'),
					));
				?>
			</div>
		<div class="clear">&nbsp;</div>
	<?php endif;?>
<?php endif;?>

<?php
$rows = HFormEditor::getGeneralFields();
HFormEditor::renderFormRows($rows, $model, $form, $seasonalPricesModel, $callFrom);

echo '<br/>';


if ($model->type == Apartment::TYPE_CHANGE) {
    echo '<div class="clear">&nbsp;</div>';
    $this->widget('application.modules.lang.components.langFieldWidget', array(
        'model' => $model,
        'field' => 'exchange_to',
        'type' => 'text'
    ));
}

$canSet = $model->canSetPeriodActivity() ? 1 : 0;

echo '<div class="rowold" id="set_period" ' . ( !$canSet ? 'style="display: none;"' : '' ) . '>';
echo $form->labelEx($model, 'period_activity');
echo $form->dropDownList($model, 'period_activity', HApartment::getPeriodActivityList());
echo CHtml::hiddenField('set_period_activity', $canSet);
echo $form->error($model, 'period_activity');
echo '</div>';

if(!$canSet) {
    echo '<div id="date_end_activity"><b>'.Yii::t('common', 'The listing will be active till {DATE}', array('{DATE}' => $model->getDateEndActivityLongFormat())).'</b>';
    echo '&nbsp;' . CHtml::link(tc('Change'), 'javascript:;', array(
            'onclick' => '$("#date_end_activity").hide(); $("#set_period_activity").val(1); $("#set_period").show();',
        ));
    echo '</div>';
}

?>

</div>


Вот страница: krim-zemlya.com/guestad/add

Я понял, что за вывод полей отвечает вот этот кусок:
$rows = HFormEditor::getGeneralFields();
HFormEditor::renderFormRows($rows, $model, $form, $seasonalPricesModel, $callFrom);


Смотрел в контроллере HformEditor и HformDesigner, их коды выложить не могу, т.к. превышают допустимое число символов.

А дальше куда копать не пойму.
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
@sgidlev Автор вопроса
Решение оказалось зарыто в админке.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
1. Наличие CHtml говорит о том, что это yii1, а не yii2
2. У Вас есть куча не стандартных для yii компонентов типа HFormEditor. Поэтому надо либо дать ссылку на их репозиторий или почитать доки к ним.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы