Templates 使用drupal 7转换node.tpl.php文件中的字段

Templates 使用drupal 7转换node.tpl.php文件中的字段,templates,drupal,translation,field,Templates,Drupal,Translation,Field,我有一个drupal英语/法语网站。 我有一个名为“ad”的自定义内容类型,包含所有类型的字段。 我已经在我的主题目录中创建了文件“node--ad.tpl.php” 自定义“广告”内容的显示。 我使用pixture重新加载的主题和Drupal7 我正在尝试转换字段(标签和值) 使用“现场翻译”模块 当我通过管理员创建或修改内容时,字段翻译起作用 但是,当我显示“ad”类型的内容时,字段不会被转换。 这是因为drupal调用'node--ad.tpl.php'和翻译 模块可能未被调用。 删除'n

我有一个drupal英语/法语网站。 我有一个名为“ad”的自定义内容类型,包含所有类型的字段。 我已经在我的主题目录中创建了文件“node--ad.tpl.php” 自定义“广告”内容的显示。 我使用pixture重新加载的主题和Drupal7

我正在尝试转换字段(标签和值) 使用“现场翻译”模块

当我通过管理员创建或修改内容时,字段翻译起作用

但是,当我显示“ad”类型的内容时,字段不会被转换。 这是因为drupal调用'node--ad.tpl.php'和翻译 模块可能未被调用。 删除'node--ad.tpl.php'时,drupal调用默认的node.tpl.php 结果相似

任何帮助都将不胜感激, 提前感谢

注: 1-我正确激活了模块的每个依赖项。 2-用户界面翻译正常工作。

正常 我自己发现了如何做到这一点。 我在这里给出了解决方案。 它可以帮助其他人:

首先,在配置>区域和语言>翻译>导入中翻译字段标签和值。不要将值作为字段导入,而是作为用户界面导入。不指定 URL(仅msgstr和msgid)

现在,您需要在node.tpl.php中添加t()函数,以使转换有效。因此:

在node.tpl.php文件中,如果要转换字段标签,请编写以下内容: $content['field_my_field']['#title']=t($content['field_my_field']['#title'])

然后,要转换字段值,请执行以下操作: $content['field#my#field'][“#items”][0]['value']=t($content['field#my#field'][“#items”][0]['value'])

现在可以渲染字段:打印渲染($content['field\u my\u field'])

好的 我自己发现了如何做到这一点。 我在这里给出了解决方案。 它可以帮助其他人:

首先,在配置>区域和语言>翻译>导入中翻译字段标签和值。不要将值作为字段导入,而是作为用户界面导入。不指定 URL(仅msgstr和msgid)

现在,您需要在node.tpl.php中添加t()函数,以使转换有效。因此:

在node.tpl.php文件中,如果要转换字段标签,请编写以下内容: $content['field_my_field']['#title']=t($content['field_my_field']['#title'])

然后,要转换字段值,请执行以下操作: $content['field#my#field'][“#items”][0]['value']=t($content['field#my#field'][“#items”][0]['value'])

现在可以渲染字段:打印渲染($content['field\u my\u field'])