Наследование: extends yii\base\Behavior
 public function testConfiguration()
 {
     $post = new Post();
     $post->detachBehavior('ml');
     try {
         $post->attachBehavior('ml', ['class' => MultilingualBehavior::className(), 'languages' => []]);
         $this->fail("Expected exception not thrown");
     } catch (InvalidConfigException $e) {
         $this->assertEquals(101, $e->getCode());
     }
     try {
         $post->detachBehavior('ml');
         $post->attachBehavior('ml', ['class' => MultilingualBehavior::className(), 'languages' => 'Some value']);
         $this->fail("Expected exception not thrown");
     } catch (InvalidConfigException $e) {
         $this->assertEquals(101, $e->getCode());
     }
     try {
         $post->detachBehavior('ml');
         $post->attachBehavior('ml', ['class' => MultilingualBehavior::className(), 'languages' => ['ru' => 'Russian', 'en-US' => 'English'], 'langForeignKey' => 'post_id', 'tableName' => "{{%postLang}}"]);
         $this->fail("Expected exception not thrown");
     } catch (InvalidConfigException $e) {
         $this->assertEquals(103, $e->getCode());
     }
     try {
         $post->detachBehavior('ml');
         $post->attachBehavior('ml', ['class' => MultilingualBehavior::className(), 'languages' => ['ru' => 'Russian', 'en-US' => 'English'], 'attributes' => ['title', 'body']]);
         $this->fail("Expected exception not thrown");
     } catch (InvalidConfigException $e) {
         $this->assertEquals(105, $e->getCode());
     }
     $post->detachBehavior('ml');
     $post->attachBehavior('ml', ['class' => MultilingualBehavior::className(), 'languages' => ['ru' => 'Russian', 'en-US' => 'English'], 'langForeignKey' => 'post_id', 'attributes' => ['title', 'body']]);
     $this->assertNotNull($post->defaultLanguage);
 }
Пример #2
0
 public function behaviors()
 {
     $languagesModel = Lang::find()->all();
     $languageDefault = Lang::findOne(['default' => 1]);
     $languages = [];
     foreach ($languagesModel as $model) {
         $languages[$model->url] = $model->name;
     }
     return ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => $languages, 'defaultLanguage' => $languageDefault->url, 'langForeignKey' => 'page_id', 'tableName' => "{{%cms_pages_lang}}", 'attributes' => ['title', 'content', 'content_heading', 'meta_keywords', 'meta_description']], ['class' => '\\yiidreamteam\\upload\\ImageUploadBehavior', 'attribute' => 'main_img', 'thumbs' => ['thumb' => ['width' => 300, 'height' => 200]], 'filePath' => '@webroot/media/cms/pages/[[pk]]/[[pk]].[[extension]]', 'fileUrl' => '@web/media/cms/pages/[[pk]]/[[pk]].[[extension]]', 'thumbPath' => '@webroot/media/cms/pages/[[pk]]/[[profile]]_[[pk]].[[extension]]', 'thumbUrl' => '@web/media/cms/pages/[[pk]]/[[profile]]_[[pk]].[[extension]]'], 'timestamp' => ['class' => 'yii\\behaviors\\TimestampBehavior', 'value' => new Expression('NOW()')]];
 }
 public function behaviors()
 {
     $languagesModel = Lang::find()->all();
     $languageDefault = Lang::findOne(['default' => 1]);
     $languages = [];
     foreach ($languagesModel as $model) {
         $languages[$model->url] = $model->name;
     }
     return ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => $languages, 'defaultLanguage' => $languageDefault->url, 'langForeignKey' => 'option_id', 'tableName' => "{{%members_attributes_to_options_lang}}", 'attributes' => ['title']]];
 }
Пример #4
0
 public function behaviors()
 {
     $languagesModel = Lang::find()->all();
     $languageDefault = Lang::findOne(['default' => 1]);
     $languages = [];
     foreach ($languagesModel as $model) {
         $languages[$model->url] = $model->name;
     }
     return ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => $languages, 'defaultLanguage' => $languageDefault->url, 'langForeignKey' => 'category_id', 'tableName' => "{{%cms_faq_categories_lang}}", 'attributes' => ['title']], 'timestamp' => ['class' => 'yii\\behaviors\\TimestampBehavior', 'value' => new Expression('NOW()')]];
 }
Пример #5
0
 public function behaviors()
 {
     $languagesModel = Lang::find()->all();
     $languageDefault = Lang::findOne(['default' => 1]);
     $languages = [];
     foreach ($languagesModel as $model) {
         $languages[$model->url] = $model->name;
     }
     return ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => $languages, 'defaultLanguage' => $languageDefault->url, 'langForeignKey' => 'video_id', 'tableName' => "{{%videos_lang}}", 'attributes' => ['title', 'description']], ['class' => '\\yiidreamteam\\upload\\FileUploadBehavior', 'attribute' => 'file', 'filePath' => '@webroot/media/videos/[[pk]]/[[filename]].[[extension]]', 'fileUrl' => '@web/media/videos/[[pk]]/[[filename]].[[extension]]'], 'timestamp' => ['class' => 'yii\\behaviors\\TimestampBehavior', 'value' => new Expression('NOW()')]];
 }
Пример #6
0
 public function behaviors()
 {
     $languagesModel = Lang::find()->all();
     $languageDefault = Lang::findOne(['default' => 1]);
     $languages = [];
     foreach ($languagesModel as $model) {
         $languages[$model->url] = $model->name;
     }
     return ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => $languages, 'defaultLanguage' => $languageDefault->url, 'langForeignKey' => 'recipe_id', 'tableName' => "{{%cms_recipes_lang}}", 'attributes' => ['title', 'content', 'content_heading', 'meta_keywords', 'meta_description']]];
 }
Пример #7
0
 /**
  * @inheritdoc
  */
 public function behaviors()
 {
     return ['timestamp' => ['class' => 'yii\\behaviors\\TimestampBehavior', 'attributes' => [ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'], ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at']]], 'blameable' => ['class' => 'yii\\behaviors\\BlameableBehavior', 'attributes' => [ActiveRecord::EVENT_BEFORE_INSERT => ['created_by', 'updated_by'], ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_by']]], 'ml' => ['class' => MultilingualBehavior::className(), 'languages' => Yii::$app->lang->getLanguages(), 'defaultLanguage' => Yii::$app->params['defaultLanguage'], 'langForeignKey' => 'entity_id', 'tableName' => "{{%content_lang}}", 'attributes' => ['title', 'content', 'short_content', 'seo_keywords', 'seo_description']], 'sitemap' => ['class' => SitemapBehavior::className(), 'scope' => function ($model) {
         $model->select(['alias', 'updated_at', 'type', 'available_translations']);
         $model->andWhere(['enabled' => 1]);
     }, 'dataClosure' => function ($model) {
         $out = [];
         $translations = explode(',', $model->available_translations);
         $alias = ltrim($model->alias, '/');
         foreach ($translations as $key) {
             $url = Yii::$app->getUrlManager()->getHostInfo() . '/' . $key . ($alias ? '/' . $alias : '');
             $data = ['loc' => $url, 'lastmod' => $model->updated_at, 'changefreq' => SitemapBehavior::CHANGEFREQ_DAILY, 'priority' => 0.8, 'translations' => []];
             foreach ($translations as $translationKey) {
                 $data['translations'][$translationKey] = Yii::$app->getUrlManager()->getHostInfo() . '/' . $translationKey . ($alias ? '/' . $alias : '');
             }
             $out[] = $data;
         }
         return $out;
     }]];
 }
Пример #8
0
 public function behaviors()
 {
     return ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => ['de' => 'German', 'es' => 'Spanish', 'en-US' => 'English'], 'defaultLanguage' => 'en-US', 'langForeignKey' => 'country_id', 'tableName' => "{{%countries_lang}}", 'attributes' => ['name', 'short_name']], TimestampBehavior::className()];
 }
Пример #9
0
 public function behaviors()
 {
     return ArrayHelper::merge(parent::behaviors(), ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => Languages::getAllowedLanguages(), 'defaultLanguage' => Languages::getDefaultLanguage(), 'langForeignKey' => 'item_id', 'tableName' => "{{%" . $this->tableName() . "Lang}}", 'attributes' => $this->multiLangAttributes]]);
 }
 /**
  * @inheritdoc
  */
 public function behaviors()
 {
     return ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => ['ru' => 'Russian', 'en-US' => 'English'], 'defaultLanguage' => 'ru', 'langForeignKey' => 'post_id', 'tableName' => "{{%postLang}}", 'attributes' => ['title', 'body']]];
 }
Пример #11
0
 public function behaviors()
 {
     return ['ml' => ['class' => MultilingualBehavior::className(), 'languages' => ['de' => 'German', 'es' => 'Spanish', 'en-US' => 'English'], 'defaultLanguage' => 'en-US', 'langForeignKey' => 'email_template_id', 'tableName' => "{{%email_templatesLang}}", 'attributes' => ['title', 'subject', 'content']], TimestampBehavior::className()];
 }
Пример #12
0
 /**
  * @inheritdoc
  */
 public function init()
 {
     parent::init();
     $this->languages = Yii::$app->yee->languages;
     $this->defaultLanguage = Yii::$app->language;
 }