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?