本文整理汇总了PHP中yii\db\ActiveRecord::getTranslation方法的典型用法代码示例。如果您正苦于以下问题:PHP ActiveRecord::getTranslation方法的具体用法?PHP ActiveRecord::getTranslation怎么用?PHP ActiveRecord::getTranslation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yii\db\ActiveRecord
的用法示例。
在下文中一共展示了ActiveRecord::getTranslation方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
/**
* @inheritdoc
*/
public function run()
{
$items = [];
/** @var \DevGroup\Multilingual\Multilingual $multilingual */
$multilingual = Yii::$app->get('multilingual');
$languages = $multilingual->getAllLanguages();
foreach ($languages as $index => $language) {
$flag = $language->iso_639_1 === 'en' ? 'gb' : $language->iso_639_1;
$items[] = ['label' => '<span class="flag-icon flag-icon-' . $flag . '"></span> ' . $language->name, 'active' => $index === 0, 'content' => $this->renderFile($this->childView, ['model' => $this->model->getTranslation($language->id), 'form' => $this->form, 'language' => $language, 'language_id' => $language->id, 'attributePrefix' => "[{$language->id}]"])];
}
FlagIconAsset::register($this->view);
$items = ArrayHelper::merge($items, $this->additionalTabs);
return "<div class=\"nav-tabs-custom {$this->tagClass}\">" . Tabs::widget(['items' => $items, 'options' => $this->options, 'encodeLabels' => false]) . $this->footer . '</div>';
}
示例2: saveData
/**
* @param array $data
*/
private function saveData(array $data)
{
foreach ($this->getLanguages() as $locale => $language) {
/** @var ActiveRecord $translation */
$translation = $this->owner->getTranslation($locale)->one();
if ($translation === null) {
$translation = new $this->translationModelName();
$translation->{$this->translationOwnerField} = $this->owner->{$this->ownerPrimaryKey};
$translation->{$this->languageField} = $language->id;
}
if (isset($data[$locale])) {
$translation->setAttributes($data[$locale]);
}
if (!$translation->save()) {
$this->owner->addError($locale, $translation->getErrors());
}
}
}
示例3: loadModels
/**
* @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;
}