skeeks\cms\models\CmsContent::getDataForSelect PHP Method

getDataForSelect() public static method

Данные для мультиселекта с группами типов
public static getDataForSelect ( boolean | false $refetch = false, $contentQueryCallback = null ) : array
$refetch boolean | false
return array
    public static function getDataForSelect($refetch = false, $contentQueryCallback = null)
    {
        if ($refetch === false && static::$_selectData) {
            return static::$_selectData;
        }
        static::$_selectData = [];
        if ($cmsContentTypes = CmsContentType::find()->orderBy("priority ASC")->all()) {
            /**
             * @var $cmsContentType CmsContentType
             */
            foreach ($cmsContentTypes as $cmsContentType) {
                $query = $cmsContentType->getCmsContents();
                if ($contentQueryCallback && is_callable($contentQueryCallback)) {
                    $contentQueryCallback($query);
                }
                static::$_selectData[$cmsContentType->name] = ArrayHelper::map($query->all(), 'id', 'name');
            }
        }
        return static::$_selectData;
    }

Usage Example

コード例 #1
0
ファイル: V3toysSettings.php プロジェクト: v3toys/skeeks
 public function renderConfigForm(ActiveForm $form)
 {
     echo $form->fieldSet('Общие настройки');
     echo $form->field($this, 'affiliate_key');
     echo $form->field($this, 'v3toysIdPropertyName');
     echo $form->field($this, 'content_ids')->widget(Chosen::className(), ['multiple' => true, 'items' => CmsContent::getDataForSelect()]);
     echo $form->field($this, 'notify_emails')->textarea(['rows' => 3]);
     /*echo $form->field($this, 'v3toysShopPersonTypeId')->widget(Chosen::className(),[
           'items' => ArrayHelper::map(ShopPersonType::find()->all(), 'id', 'name'),
       ]);*/
     /*echo $form->field($this, 'v3toysOrderStatusSubmitted')->widget(Chosen::className(),[
           'items' => ArrayHelper::map(ShopOrderStatus::find()->all(), 'code', 'name'),
       ]);*/
     echo $form->fieldSetEnd();
     echo $form->fieldSet('Настройки доставки');
     echo $form->field($this, 'pickup_discaunt_value');
     echo $form->field($this, 'post_discaunt_value');
     echo $form->field($this, 'courier_discaunt_value');
     echo $form->fieldSetEnd();
     echo $form->fieldSet('Скидка/Наценка на товары');
     echo $form->field($this, 'price_discount_percent');
     echo $form->fieldSetEnd();
 }
All Usage Examples Of skeeks\cms\models\CmsContent::getDataForSelect