diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 9810450..4a78c09 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -12,6 +12,7 @@ Yii Framework 2 Change Log - Enh #1437: Added ListView::viewParams (qiangxue) - Enh #1469: ActiveRecord::find() now works with default conditions (default scope) applied by createQuery (cebe) - Enh: Added `favicon.ico` and `robots.txt` to defauly application templates (samdark) +- Enh: Widget IDs are now always unique no matter if it's the same request or new one (samdark) - New #1438: [MongoDB integration](https://github.com/yiisoft/yii2-mongodb) ActiveRecord and Query (klimov-paul) 2.0.0 alpha, December 1, 2013 diff --git a/framework/yii/base/Widget.php b/framework/yii/base/Widget.php index 5e3ce2b..a45dfaf 100644 --- a/framework/yii/base/Widget.php +++ b/framework/yii/base/Widget.php @@ -25,11 +25,6 @@ use ReflectionClass; class Widget extends Component implements ViewContextInterface { /** - * @var integer a counter used to generate [[id]] for widgets. - * @internal - */ - public static $counter = 0; - /** * @var Widget[] the widgets that are currently being rendered (not ended). This property * is maintained by [[begin()]] and [[end()]] methods. * @internal @@ -101,7 +96,7 @@ class Widget extends Component implements ViewContextInterface public function getId($autoGenerate = true) { if ($autoGenerate && $this->_id === null) { - $this->_id = 'w' . self::$counter++; + $this->_id = 'w-' . str_replace('.', '-', uniqid('', true)); } return $this->_id; }