/** * Разрешены ли привелегии * @return bool */ public function isPermissionCan() { if (is_array($this->url)) { $controller = null; try { /** * @var $controller \yii\web\Controller */ list($controller, $route) = \Yii::$app->createController($this->url[0]); } catch (\Exception $e) { } if (!$controller) { return true; } if ($content_id = ArrayHelper::getValue($this->url, 'content_id')) { $controller->content = CmsContent::findOne($content_id); } if ($permission = \Yii::$app->authManager->getPermission($controller->permissionName)) { if (\Yii::$app->user->can($permission->name)) { return $this->_accessCallback(); } else { return false; } } else { return $this->_accessCallback(); } } return $this->_accessCallback(); }
public function beforeAction($action) { if ($content_id = \Yii::$app->request->get('content_id')) { $this->content = CmsContent::findOne($content_id); } if ($this->content) { if ($this->content->name_meny) { $this->name = $this->content->name_meny; } } return parent::beforeAction($action); }
* @date 02.06.2015 */ /* @var $this yii\web\View */ /* @var $searchModel \skeeks\cms\models\Search */ /* @var $dataProvider yii\data\ActiveDataProvider */ $dataProvider->setSort(['defaultOrder' => ['published_at' => SORT_DESC]]); $sortAttr = $dataProvider->getSort()->attributes; $dataProvider->query->joinWith('shopProduct as sp'); $dataProvider->getSort()->attributes = \yii\helpers\ArrayHelper::merge($sortAttr, ['quantity' => ['asc' => ['sp.quantity' => SORT_ASC], 'desc' => ['sp.quantity' => SORT_DESC], 'label' => \Yii::t('skeeks/shop/app', 'Available quantity'), 'default' => SORT_ASC]]); $cmsContent = null; if ($content_id = \Yii::$app->request->get('content_id')) { $dataProvider->query->andWhere(['content_id' => $content_id]); /** * @var $cmsContent \skeeks\cms\models\CmsContent */ $cmsContent = \skeeks\cms\models\CmsContent::findOne($content_id); $searchModel->content_id = $content_id; } $columns = \skeeks\cms\shop\controllers\AdminCmsContentElementController::getColumns($cmsContent, $dataProvider); $columns = \yii\helpers\ArrayHelper::merge($columns, [['label' => \Yii::t('skeeks/shop/app', 'Available quantity'), 'class' => \yii\grid\DataColumn::class, 'visible' => false, 'attribute' => 'quantity', 'value' => function (\skeeks\cms\shop\models\ShopCmsContentElement $shopCmsContentElement) { return $shopCmsContentElement->shopProduct ? $shopCmsContentElement->shopProduct->quantity : " - "; }]]); ?> <? $pjax = \yii\widgets\Pjax::begin(); ?> <?php echo $this->render('_search', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'content_id' => $content_id, 'cmsContent' => $cmsContent]); ?> <?php
/** * @return CmsContent */ public function getCmsContent() { return CmsContent::findOne($this->content_id); }
/** * @return CmsContent|static */ public function getContent() { if ($this->_content !== null) { return $this->_content; } if ($content_id = \Yii::$app->request->get('content_id')) { $this->_content = CmsContent::findOne($content_id); } return $this->_content; }
/** * @param array $product * @return array|null|ShopCmsContentElement|\yii\db\ActiveRecord * @throws \skeeks\cms\relatedProperties\models\InvalidParamException */ protected function _getCmsContentElementProduct($product = []) { $cmsContent = ShopCmsContentElement::find()->joinWith('relatedElementProperties map')->joinWith('relatedElementProperties.property property')->andWhere(['property.code' => \Yii::$app->v3toysSettings->v3toysIdPropertyName])->andWhere(['map.value' => ArrayHelper::getValue($product, 'external_id')])->joinWith('cmsContent as ccontent')->andWhere(['ccontent.code' => 'product'])->one(); if (!$cmsContent) { $content = CmsContent::findOne(['code' => 'product']); //Иначе создадим $cmsContent = new ShopCmsContentElement(); //$cmsContent->tree_id = ImportStockSaleV2::ROOT_TREE_ID; //Каталог $cmsContent->content_id = CmsContent::findOne(['code' => 'product'])->id; //Тип контента $cmsContent->name = ArrayHelper::getValue($product, 'name'); if ($cmsContent->save()) { $cmsContent->relatedPropertiesModel->setAttribute(\Yii::$app->v3toysSettings->v3toysIdPropertyName, ArrayHelper::getValue($product, 'external_id')); $cmsContent->relatedPropertiesModel->save(false); } else { throw new Exception("Not created product: " . serialize($cmsContent->getFirstErrors())); } $this->stdout("\tCreated element {$cmsContent->id}\n"); return $cmsContent; } $this->stdout("\tExist element {$cmsContent->id}\n"); return $cmsContent; }
/** * @return CmsContent */ public function getStoreContent() { if (!($contentId = (int) $this->storeCmsContentId)) { return null; } return CmsContent::findOne($contentId); }
if ($tree_id = \Yii::$app->request->get("tree_id")) { $model->tree_id = $tree_id; } if ($parent_content_element_id = \Yii::$app->request->get("parent_content_element_id")) { $model->parent_content_element_id = $parent_content_element_id; } } ?> <?php $form = ActiveForm::begin(); ?> <? if ($model->isNewRecord) : ?> <? if ($content_id = \Yii::$app->request->get("content_id")) : ?> <? $contentModel = \skeeks\cms\models\CmsContent::findOne($content_id); ?> <? $model->content_id = $content_id; ?> <?php echo $form->field($model, 'content_id')->hiddenInput(['value' => $content_id])->label(false); ?> <? endif; ?> <? else : ?> <? $contentModel = $model->cmsContent; ?> <? endif; ?> <? if ($contentModel && $contentModel->parentContent) : ?> <?php echo Html::activeHiddenInput($contentModel, 'parent_content_is_required'); ?> <? endif; ?>