Ejemplo n.º 1
0
 /**
  * Устанавливает юнит на конкретной странице в определенном месте
  * 
  * @param integer pageId id страницы
  * @param string название области блоков
  * @param integer номер по порядку размещения блоков
  * @return PageWidget
  */
 public function setOnPage($pageId, $area, $order)
 {
     $pageId = (int) $pageId;
     // Раздвигаем последующие юниты
     $sql = 'UPDATE `' . PageWidget::tableName() . '` SET `order`=`order`+1 WHERE `page_id` = :page_id AND `area` = :area AND `order` > :order';
     $command = Yii::app()->db->createCommand($sql);
     $command->bindValue(':page_id', $pageId, PDO::PARAM_INT);
     $command->bindValue(':area', $area, PDO::PARAM_STR);
     $command->bindValue(':order', $order, PDO::PARAM_INT);
     $command->execute();
     // Устанавливаем юнит
     $pageWidget = new PageWidget();
     $pageWidget->page_id = $pageId;
     $pageWidget->widget_id = $this->id;
     $pageWidget->order = $order + 1;
     $pageWidget->area = $area;
     $pageWidget->save();
     return $pageWidget;
 }