问题是 - 我不知道如何切换到翻译的 slug:
我已经使用lav45/yii2-translated-behavior.
数据库非常简单:
投资组合模型:
id | created_at | is_active
PortfolioLang 模型:
portfolio_id | lang_id | title | content
到目前为止,一切都很好。我有一个actionView调用翻译内容的方法,如下所示:
protected function findModelBySlug($slug)
{
if (($model = Portfolio::findOne(['slug' => $slug])) !== null) {
return $model;
} else {
throw new NotFoundHttpException();
}
}
public function actionView($_lang, $slug)
{
$portfolioLang = PortfolioLang::findOne(['lang_id' => $_lang,'slug' => $slug]);
$model = $portfolioLang->portfolio;
$pictures = PortfolioPicture::find()->where(['portfolio_id' => $model->id])->orderBy(['sorting'=>SORT_ASC])->all();
return $this->render('view', [
'model' => $model,
'picture' => $pictures,
'langList' => Lang::getList(),
]);
}
必须注意,这是有效的,“直到”它在我打开条目时尝试在语言之间切换。
我想我需要的不是示例代码(看起来它只适用于现有条目的当前 ID)。有人能给我一些下一步的提示吗?
提前致谢!