Forums / Setup & design / Create new translation for an object in pure PHP
Guillaume Marty
Wednesday 04 February 2009 8:48:47 am
Hi,
I'm a bit confused about how to create a new translation for an existing object in pure code.
I've not been able to create a new translation in the current version of the object (that is the way how the user interface works). Instead, a new version is created containing the new translation.
Here is my code:
$version = $contentObject->createNewVersionIn( $contentObjectTargetLanguage, $contentObjectSourceLanguage, false, true, eZContentObjectVersion::STATUS_PUBLISHED ); foreach ( $contentObject->fetchDataMap() as $attribute_identifier => $attribute ) { $attribute->fromString( 'New attribute translation' ); $attribute->store(); }
What am I doing wrong? Maybe it has something to do with createNewVersionIn()...Please help!
Friday 13 February 2009 8:15:10 am
Any help? Please!
How to create a new language of an object and save attributes the clean way?
nehal shah
Friday 29 April 2011 5:36:39 am
I have the same problem.I want to add translation for the current version of the object through php. Here is my code.
$objectID = 6413; $object = eZContentObject::fetch( $objectID ); $catalanVersion = $englishObject->createNewVersion( $object->CurrentVersion, true, 'hun-HU', 'eng-GB' ); $contentObjectAttributes = $catalanVersion->contentObjectAttributes(); $contentObjectAttributes[0]->setAttribute( 'data_text', 'Urinary System1'); $contentObjectAttributes[0]->store(); $contentObjectAttributes[1]->setAttribute( 'data_text', '202.59.12');$contentObjectAttributes[1]->store();
but when i run this code it is showing error.
Please anyone has solution for adding translation through php?
Script start
Module start 'content'
Module end 'content'
Script end
Time used to render debug report: 0.0002 secs