public function getWidgetPageArray() { $sql = 'SELECT p.* FROM `' . Page::tableName() . '` as p INNER JOIN `' . PageWidget::tableName() . '` as pu ON pu.page_id = p.id WHERE pu.widget_id = :widget_id ORDER BY pu.id LIMIT 1'; $command = Yii::app()->db->createCommand($sql); $command->bindValue(':widget_id', $this->widget_id, PDO::PARAM_INT); $page = $command->queryRow(); $page['alias'] = $page[Yii::app()->language . '_alias']; $page['url'] = $page[Yii::app()->language . '_url']; return $page; }
public function cacheDependencies() { return array(array('class' => 'system.caching.dependencies.CDbCacheDependency', 'sql' => 'SELECT MAX(`modify`) FROM `' . Page::tableName() . '` WHERE id = :id', 'params' => array('id' => Yii::app()->page->model->id))); }
public function cacheDependencies() { return array(array('class' => 'system.caching.dependencies.CDbCacheDependency', 'sql' => 'SELECT CONCAT(MAX(`modify`),MAX(`create`)) FROM `' . Page::tableName() . '`')); }
public function cacheDependencies() { $ids = str_replace('0,', '', Yii::app()->page->model->path) . ',' . Yii::app()->page->model->id; return array(array('class' => 'system.caching.dependencies.CDbCacheDependency', 'sql' => 'SELECT MAX(`modify`) FROM `' . Page::tableName() . '` WHERE id in (' . $ids . ')')); }
/** * Обрабатывает перемещение страниц * * @param int $pageId id страницы */ public function actionSort($pageId) { $transaction = Yii::app()->db->beginTransaction(); try { if ($pageId > 1 && $_REQUEST['parentId'] && $_REQUEST['parentId'] != 0 && isset($_REQUEST['order'])) { $page = Yii::app()->page->model; $page->parent_id = $_REQUEST['parentId']; $page->save(false); if ($pages = $_REQUEST['order']) { foreach ($pages as $order => $id) { $sql = 'UPDATE `' . Page::tableName() . '` SET `order` = :order WHERE `id` = :id'; $command = Yii::app()->db->createCommand($sql); $command->bindValue(':order', intval($order), PDO::PARAM_INT); $command->bindValue(':id', intval($id), PDO::PARAM_INT); $command->execute(); } } } $transaction->commit(); echo '1'; } catch (Exception $e) { $transaction->rollBack(); echo '0'; } }