web-dev-qa-db-ja.com

プログラムで翻訳済みノードを作成する

プログラムで翻訳を作成するときのdrupalの動作を再現する必要があります。

フック挿入で$node->addTranslation('de');を実行すると、空のノードが作成されますが、フィールドに未翻訳のノードコンテンツを入力する必要があります。

メインノードからすべてのフィールドを再入力する代わりにこれを達成する方法はありますか?

3
Leeroy521

addTranslation は2番目のパラメータ$valuesを受け取ります:

翻訳可能なフィールドに割り当てられる初期値の配列。デフォルトはnoneです。

したがって、理論的には、そのパラメーターを使用して、ノードの現在のフィールド値を渡すだけでよいのです。

$node->addTranslation('de', $node->toArray());
5
Clive