Fetching ID of a created content node

Author Message

Ville Mattila

Thursday 01 March 2007 8:13:25 am

Hi there,

I am building an import script that should create content objects and save them as a hierarchial tree to ez Publish. I have managed to build a script that creates the objects and I can assign them to a parent node that is created with ez Publish itself. Anyway, I can't get the created node ID to refer it to create objects under the imported node.

To make myself clear, an example might be helpful:

function createCompanyFolder($userNodeID, $thisPriority) {
     $folderClassID=19;
     $class =& eZContentClass::fetch( $folderClassID );
     
     $folderContentObject =& $class->instantiate( 14, 11 );
     $nodeAssignment =& eZNodeAssignment::create( array(
                            'contentobject_id' => $folderContentObject->attribute( 'id' ),
                            'contentobject_version' => 1,
                            'parent_node' => $userNodeID,
                            'sort_field' => 8, //Priority
                            'sort_order' => 0, //Descending
			    'priority' => $thisPriority,
                            'is_main' => 1));
     $nodeAssignment->store();

     return $nodeAssignment->ID;
}

When I set $userNodeID statically to any node id, the objects are created successfully. But now, if I need to create a new object UNDER the created object above, I have no idea which ID number should be fed to the function as userNodeID. I have tried to return a nodeAssignment->ID property but the new objects won't appear. I will also get an error "Internal transaction counter mismatch : 57. Should be zero.".

Hope that the explanation was good enough and somebody could give some advice. ;)

Thanks!

Ville

Claudia Kosny

Thursday 01 March 2007 8:26:55 am

Hi

As far as I know the node id does not exist before the folderContentObject is published. After publishing you can get it with

$folderContentObject->attribute('main_node_id');

Claudia

Ville Mattila

Thursday 01 March 2007 8:56:55 am

Thanks Claudia, this solution works fine!

A further question is that if I want to place an object to multiple locations, should I do anything else that just add a nodeAssignment for each location with proper parent_node property?

Ville

Claudia Kosny

Thursday 01 March 2007 10:44:08 am

Hi Ville

As long as you add the node assignments before publishing and set 'is_main' to 0 for them, it should be ok.

Claudia

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 31 2025 01:27:57
Script start
Timing: Jan 31 2025 01:27:57
Module start 'layout'
Timing: Jan 31 2025 01:27:57
Module start 'content'
Timing: Jan 31 2025 01:27:58
Module end 'content'
Timing: Jan 31 2025 01:27:58
Script end

Main resources:

Total runtime0.7596 sec
Peak memory usage8,192.0000 KB
Database Queries60

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0049 588.2344151.2109
Module start 'layout' 0.00500.0036 739.4453220.6875
Module start 'content' 0.00860.7498 960.13284,218.5859
Module end 'content' 0.75840.0011 5,178.718811.8438
Script end 0.7595  5,190.5625 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00350.4662160.0002
Check MTime0.00130.1655160.0001
Mysql Total
Database connection0.00070.091210.0007
Mysqli_queries0.672988.5969600.0112
Looping result0.00060.0781580.0000
Template Total0.712293.820.3561
Template load0.00200.267720.0010
Template processing0.710193.490720.3551
Template load and register function0.00150.199610.0015
states
state_id_array0.00120.152510.0012
state_identifier_array0.00110.141220.0005
Override
Cache load0.00170.2190240.0001
Sytem overhead
Fetch class attribute can translate value0.00200.259720.0010
Fetch class attribute name0.00280.363540.0007
XML
Image XML parsing0.00020.030620.0001
class_abstraction
Instantiating content class attribute0.00000.001640.0000
General
dbfile0.00200.2637100.0002
String conversion0.00000.000940.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
4content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
6content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 14
 Number of unique templates used: 5

Time used to render debug report: 0.0002 secs