コード例 #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
ファイル: Translate.php プロジェクト: tolik505/bl
 /**
  * @param $name
  *
  * @return mixed
  */
 public function __get($name)
 {
     if ($this instanceof Translateable && in_array($name, $this->getTranslationAttributes(), true)) {
         $defaultLanguage = LanguageHelper::getDefaultLanguage()->locale;
         $language = \Yii::$app->language;
         if ($defaultLanguage === $language) {
             return parent::__get($name);
         }
         /** @var \yii\db\ActiveRecord $translation */
         $translation = $this->translate($language);
         if ($translation->isNewRecord) {
             return parent::__get($name);
         }
         return $translation->{$name};
     }
     return parent::__get($name);
 }
コード例 #4
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());
 }
コード例 #5
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;
 }
コード例 #6
0
ファイル: main.php プロジェクト: tolik505/bl
<?php

use metalguardian\fileProcessor\helpers\FPM;
return ['vendorPath' => dirname(dirname(__DIR__)) . '/vendor', 'modules' => ['fileProcessor' => ['class' => '\\metalguardian\\fileProcessor\\Module', 'imageSections' => ['admin' => ['file' => ['action' => FPM::ACTION_THUMBNAIL, 'width' => 100, 'height' => 100]], 'article' => ['title' => ['action' => FPM::ACTION_ADAPTIVE_THUMBNAIL, 'width' => 848, 'height' => 350], 'thumb' => ['action' => FPM::ACTION_ADAPTIVE_THUMBNAIL, 'width' => 65, 'height' => 65]]]]], 'components' => ['user' => ['class' => 'yii\\web\\User', 'identityClass' => 'common\\models\\User', 'enableAutoLogin' => true], 'authManager' => ['class' => 'yii\\rbac\\DbManager'], 'formatter' => ['timeZone' => 'UTC'], 'i18n' => ['class' => 'Zelenin\\yii\\modules\\I18n\\components\\I18N', 'languages' => function () {
    return \common\helpers\LanguageHelper::getApplicationLanguages();
}], 'urlManager' => ['class' => '\\common\\components\\UrlManager', 'showScriptName' => false, 'enableStrictParsing' => true, 'rules' => require __DIR__ . '/url-rules.php']], 'sourceLanguage' => 'xx', 'language' => 'ru'];
コード例 #7
0
ファイル: _form.php プロジェクト: tolik505/bl
<div class="menu-form">
    <?php 
echo Html::errorSummary($values, ['class' => 'alert alert-danger']);
?>
    <?php 
/** @var \metalguardian\formBuilder\ActiveFormBuilder $form */
$form = \metalguardian\formBuilder\ActiveFormBuilder::begin();
?>

    <?php 
$items = [];
$content = null;
foreach ($values as $value) {
    $attribute = '[' . $value->id . ']value';
    $configuration = $value->getValueFieldConfig();
    $configuration['label'] = $value->description . ' [key: ' . $value->id . '] [language: ' . LanguageHelper::getCurrent()->code . ']';
    $content .= $form->renderField($value, $attribute, $configuration);
    if ($value instanceof \common\components\model\Translateable && $value->isTranslateAttribute($attribute)) {
        foreach ($value->getTranslationModels() as $languageModel) {
            $configuration['label'] = $value->description . ' [key: ' . $value->id . '] [language: ' . $languageModel->language . ']';
            $content .= $form->renderField($languageModel, '[' . $languageModel->language . ']' . $attribute, $configuration);
        }
    }
}
echo $content;
?>

    <div class="form-group">
        <?php 
echo Html::submitButton(Yii::t('app', 'Save'), ['class' => 'btn btn-success']);
?>
コード例 #8
0
ファイル: _subscribe_form.php プロジェクト: tolik505/bl
    <h4><?php 
echo Yii::t('app', 'Get in touch');
?>
<span class="head-line"></span></h4>
    <p><?php 
echo Yii::t('app', 'Join our mailing list to stay up to date and get notices about our new releases!');
?>
</p>
    <?php 
$form = ActiveForm::begin(['id' => 'subscribe', 'action' => MailRequest::getSubscribeUrl(), 'options' => ['class' => 'subscribe ajax-form'], 'fieldConfig' => ['template' => '{input}']]);
?>
    <?php 
echo $form->field($model, 'label')->textInput(['placeholder' => '*****@*****.**']);
?>
    <?php 
echo $form->field($model, 'language')->hiddenInput(['value' => LanguageHelper::getCurrent()->code]);
?>

    <input type="submit" class="main-button" value="<?php 
echo isset($success) ? Yii::t('app', 'Done') : Yii::t('app', 'Send');
?>
">
    <?php 
echo $form->errorSummary($model);
?>

    <?php 
ActiveForm::end();
?>
</div>
コード例 #9
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);
});