コード例 #1
0
ファイル: TranslateableTrait.php プロジェクト: tolik505/bl
 /**
  * @return \yii\base\Model[]
  */
 public function getTranslationModels()
 {
     $models = [];
     $languages = LanguageHelper::getLanguageModels();
     foreach ($languages as $language) {
         if ($language->locale === LanguageHelper::getDefaultLanguage()->locale) {
             continue;
         }
         $models[$language->locale] = $this->getTranslation($language->locale);
     }
     return $models;
 }
コード例 #2
0
ファイル: LanguageChecker.php プロジェクト: tolik505/bl
 public function init()
 {
     parent::init();
     $route = '/' . Yii::$app->controller->route;
     $params = $_GET;
     array_unshift($params, $route);
     $models = LanguageHelper::getLanguageModels();
     foreach ($models as $language) {
         $params['language'] = $language->code;
         if (\Yii::$app->language === $language->locale) {
             $this->items[] = Html::tag('span', $language->label);
         } else {
             $this->items[] = Html::a($language->label, $params);
         }
     }
 }
コード例 #3
0
 /**
  * @param ConfigurationModel $model
  *
  * @return bool
  */
 public function loadModels($model)
 {
     $loaded = true;
     //\common\helpers\Dump::dump(Yii::$app->request->post(), 1);
     $models = $model->getModels();
     foreach ($models as $key => $item) {
         if ($item instanceof \common\components\model\Translateable) {
             $languages = LanguageHelper::getLanguageModels();
             $items = [];
             foreach ($languages as $language) {
                 if ($language->locale === LanguageHelper::getDefaultLanguage()->locale) {
                     continue;
                 }
                 $items[$language->locale] = $item->getTranslation($language->locale);
             }
             $loaded &= ConfigurationModel::loadMultiple($items, Yii::$app->request->post(), null, $key);
         }
     }
     return $loaded & ConfigurationModel::loadMultiple($models, Yii::$app->request->post());
 }
コード例 #4
0
ファイル: BackendController.php プロジェクト: tolik505/bl
 /**
  * @param \yii\db\ActiveRecord $model
  *
  * @return bool
  */
 public function loadModels($model)
 {
     $loaded = true;
     if ($model instanceof \common\components\model\Translateable) {
         $languages = LanguageHelper::getLanguageModels();
         $models = [];
         foreach ($languages as $language) {
             if ($language->locale === LanguageHelper::getDefaultLanguage()->locale) {
                 continue;
             }
             $models[$language->locale] = $model->getTranslation($language->locale);
         }
         if (!empty($models)) {
             $loaded &= Model::loadMultiple($models, Yii::$app->request->post());
         }
     }
     $loaded = $model->load(Yii::$app->request->post()) && $loaded;
     return $loaded;
 }
コード例 #5
0
ファイル: bootstrap.php プロジェクト: tolik505/bl
<?php

Yii::setAlias('common', dirname(__DIR__));
Yii::setAlias('frontend', dirname(dirname(__DIR__)) . '/frontend');
Yii::setAlias('backend', dirname(dirname(__DIR__)) . '/backend');
Yii::setAlias('console', dirname(dirname(__DIR__)) . '/console');
\Yii::$container->set('\\common\\components\\UrlManager', function ($container, $params, $config) {
    $models = \common\helpers\LanguageHelper::getLanguageModels();
    $languages = [];
    foreach ($models as $model) {
        $languages[$model->code] = $model->locale;
    }
    $config['languages'] = $languages;
    return new \common\components\UrlManager($config);
});
\Yii::$container->set('notgosu\\yii2\\modules\\metaTag\\components\\MetaTagBehavior', function ($container, $params, $config) {
    $config['languages'] = \common\helpers\LanguageHelper::getApplicationLanguages();
    return new \notgosu\yii2\modules\metaTag\components\MetaTagBehavior($config);
});