Hi all,
I’m rendering the same partial view multiple times in Yii2, but the IDs inside the partial are repeating. Is there a way to dynamically generate unique IDs for each instance?
Thanks
Hi all,
I’m rendering the same partial view multiple times in Yii2, but the IDs inside the partial are repeating. Is there a way to dynamically generate unique IDs for each instance?
Thanks
I don’t know but try this:
When calling renderPartial, pass name->value in the parameter array.
https://www.yiiframework.com/doc/api/2.0/yii-base-controller#renderPartial()-detail
What ID do you exactly mean? The question sounds strange. A view rendered multiple times should be always the same, unless there is some dynamic element or passed param.
It used to repeat the widget ID when the request was AJAX. I fixed it by modifying the widget class method — is there a better solution? sorry my english
public function getId($autoGenerate = true)
{
if(static::$counter == 0 && Yii::$app->request->isAjax)
{
static::$counter = 1000;
}
if ($autoGenerate && $this->_id === null) {
$this->_id = static::$autoIdPrefix . static::$counter++;
}
return $this->_id;
}