2 формы на странице

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: 2 формы на странице

Сообщение TM123 »

Недавно был вынужден писать замену штатного представления ActiveForm, ну типа надо чтоб в 2 колонки, а не по одной. Там генерация идет очень просто, перекройте класс и дело с концом, причем вам скорее всего придется переопределить всего 1-2 метода и это скорее всего будут методы генерации имен полей ввода, например так чтобы вместо xxx[yyy] xxx[yyy] генерились yyy1 и yyy2 или xxx1_yyy и xxx2_yyy. В общем предлагаю вам перекрыть 2 метода генератора имен и возможно еще один метод где эти генераторы используются.

Концы CHtml::resolveName, а после того, как нагенерите нормальных не пересекающихся имен, то и проблема должна решиться, ну или еще подшаманить чуток надо будет.
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: 2 формы на странице

Сообщение nizsheanez »

Спасибо всем вопрос оказывается был решен в 1.1.9
Ну, вот такой я динозавр. Сидел на 1.1.8 мозг ломал.
Всем спасибо
madmis
Сообщения: 17
Зарегистрирован: 2012.02.23, 15:29

Re: 2 формы на странице

Сообщение madmis »

Понимаю что тема очень старая, но у меня сейчас возник такой же косяк.
Было бы неплохо увидеть, как именно была решена данная проблема.
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: 2 формы на странице

Сообщение nizsheanez »

Ну идите на гитхаб и ищите
Makarenko_i_v
Сообщения: 12
Зарегистрирован: 2017.12.01, 13:51

Re: 2 формы на странице

Сообщение Makarenko_i_v »

Я так для своей формы пофиксил:

Код: Выделить всё

    static private $counter = 0;
    private $index;

    /**
     * @inheritdoc Add counter of form uses.
     */
    public function init()
    {
        parent::init();
        $this->index = self::$counter++;
    }
    /**
     * @inheritdoc Improve form names for use multiple on one page.
     */
    public function formName()
    {
        return parent::formName() . '-' . $this->index;
    }
Ответить