public function actionEditPost() { $id = (int) \Yii::$app->request->post('id'); $item_name = Html::decode(\Yii::$app->request->post('item_name')); $item_url = Html::decode(\Yii::$app->request->post('item_url')); $item_ifshow = \Yii::$app->request->post('item_ifshow'); $item_opennew = \Yii::$app->request->post('item_opennew'); $item_type = \Yii::$app->request->post('item_type'); $item_vieworder = (int) \Yii::$app->request->post('item_vieworder', 0); $row = Nav::find()->select(['ctype', 'cid', 'is_show', 'type'])->where($id)->one(); $arr = Nav::analyse_uri($item_url); if ($arr) { if ($row['ctype'] == $arr['type'] && $row['cid'] == $arr['id']) { //如果没有修改分类 if ($item_type != 'middle') { //位置不在中部 Nav::setShowInNav($arr['type'], $arr['id'], 0); } } else { //修改了分类 if ($row['is_show'] == 1 && $row['type'] == 'middle') { Nav::setShowInNav($row['ctype'], $row['cid'], 0); //设置成不显示 } } //分类判断 if ($item_ifshow != Nav::isShowInNav($arr['type'], $arr['id']) && $item_type == 'middle') { Nav::setShowInNav($arr['type'], $arr['id'], $item_ifshow); } Nav::updateAll(['name' => $item_name, 'ctype' => $arr['type'], 'cid' => $arr['id'], 'is_show' => $item_ifshow, 'view_order' => $item_vieworder, 'open_new' => $item_opennew, 'url' => $item_url, 'type' => $item_type], 'id=:id', [':id' => $id]); } else { if ($row['ctype'] && $row['cid']) { Nav::setShowInNav($row['ctype'], $row['cid'], 0); } Nav::updateAll(['name' => $item_name, 'ctype' => '', 'cid' => '', 'is_show' => $item_ifshow, 'view_order' => $item_vieworder, 'open_new' => $item_opennew, 'url' => $item_url, 'type' => $item_type], 'id=:id', [':id' => $id]); } exit(UtilD::handleResult(true, \Yii::t('common', 'edit_ok'))); }
/** * 是否新窗口打开状态修改 * @param $id * @param int $status * @return bool|int */ public function setOpennew($id, $status = 1) { if (!in_array($status, [0, 1])) { return false; } return Nav::updateAll(['opennew' => $status], 'id = :id', [':id' => $id]); }