我正在使用Drupal 6.x系统来创建练习/个人训练计划,并使用CCK和练习和程序的内容类型,其中程序包含一些标题字段和一个节点参考列表,包括.这很好用,我可以手动创建工作正常的程序.我现在想创建一个模块,它可以根据我开发的一些算法自动生成这些程序,过程如下:
练习有许多相关的属性,虽然我可以使用SQL直接在表中完成上述所有操作,但这样做会非常复杂并且感觉不对.我想在第1步中将练习加载为一个Exercise对象数组(node_load?),然后创建一个程序对象并保存.这种OO类型方法是否可行,或者我是否必须直接操作数据?
小智 5
解决此问题的最佳方法是编写自己的模块来执行此操作.
步骤1你可以在所有的excercies上执行node_load($ nid)步骤2你可以使用user_load($ uid)步骤3你需要遍历用户对象并匹配相应的excercies.步骤4/5我创建一个新的$ node = stdClass(); 对象并使用正确的数据填充属性然后执行node_save($ node); 这将为它分配一个$ node-> id等.
如果您不确定训练计划节点中的属性,那么执行print_r($ node); 在你已经创建的那个上.
菲尔