Creating Drupal CCK content programmatically/ via API

后端 未结 4 1434
旧巷少年郎
旧巷少年郎 2021-01-03 04:30

I am working with a Drupal 6.x system to create exercise / personal training programmes, and am using the CCK with content types of Exercise and Programme, where Programme c

相关标签:
4条回答
  • 2021-01-03 04:56

    There are a ton of modules that try to do the import thing right. Take a look at a comparison of them http://groups.drupal.org/node/21338

    If you need strategies or examples of importing stuff into nodes, those are a great resource.

    0 讨论(0)
  • 2021-01-03 05:00

    The best way to tackle this problem would be to write your own module to do this.

    Step 1 you can do node_load($nid) on all the excercies Step 2 you can use user_load($uid) Step 3 you'll need to iterate through the user object and match up to the appropriate excercies. Step 4/5 I'd create a new $node = stdClass(); object and populate the attributes with the correct data then perfrom a node_save($node); this will assign it a $node->id etc.

    If your unsure on what attributes are in your training program node, then do a print_r($node); on one you've created already.

    Phil

    0 讨论(0)
  • 2021-01-03 05:18

    Drupal doesn't provide any "cascading" save mechanism to save a hierarchy of nodes in one swoop. You'll need to build each node in code and call node_save() on it explicitly as described by Phil Carter.

    The Node Export module can generate sample code for creating a node (complete with CCK fields) programatically.

    0 讨论(0)
  • 2021-01-03 05:18

    I don't think "creating" these programs is even necessary.

    Why not just display a list of exercises that match your requirements and share 'characteristics' with the user.

    I'd accomplish this by making the 'characteristics' be taxonomy. Then attached to users either with a profile, or taxonomy flag. Then display a list (perhaps even a view at first) and those with the same characteristic tags within exercises.

    This would be dynamic and user specific and note require pre-loading a bunch of programmes.

    A thought.

    0 讨论(0)
提交回复
热议问题