You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pimcore中按当前Slug对应语言显示DataObject本地化字段值

方案1:全局设置请求语言(推荐,无需修改现有模板字段调用)

首先修改控制器,将当前Slug对应的语言设置为请求的默认 locale:

public function detailAction(
    Request $request,
    DataObject\FooDataObject $object,
    DataObject\Data\UrlSlug $urlSlug
) {
    // 新增这行,将Slug对应语言设置为当前请求的默认语言
    $request->setLocale($urlSlug->getLanguage());
    
    return [
        'FooPage' => $object,
    ];
}

修改后原有模板代码无需改动,所有本地化字段会自动读取当前请求locale对应的数值:

<h4>{{ FooPage.headline }}</h4>

方案2:单字段指定语言(适合仅部分字段需要匹配Slug语言的场景)

首先修改控制器将Slug对应的语言标识传入模板:

public function detailAction(
    Request $request,
    DataObject\FooDataObject $object,
    DataObject\Data\UrlSlug $urlSlug
) {
    return [
        'FooPage' => $object,
        'slugLocale' => $urlSlug->getLanguage()
    ];
}

然后在Twig模板中调用字段时传入语言参数即可:

<h4>{{ FooPage.getHeadline(slugLocale) }}</h4>
<!-- 也可以直接简写为 -->
<h4>{{ FooPage.headline(slugLocale) }}</h4>

内容的提问来源于stack exchange,提问作者Eugene Kaurov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:24:02