欢迎各位兄弟 发布技术文章
这里的技术是共享的
诗人兄,你好!
我打算换另外一种PHP框架,做drupal数据node表的增删改查,但还是用drupal自己的后台管理。
请问是不是node和node_revision表内容一致就行了?
node表nid=1 vid=2
node_revision表nid=1 vid=2
我试着在这两个表里手工直接插入一样的数据,但是后台的内容管理,不显示的。
请指点,谢谢!
其实你参考drupal_write_record() 的方式就可以知道如何写了。给你一个drupal_write_record() 写入节点内容的方法:
function
amnode_save(&
$node
) {
//定义存储函数,如果有相同asin码就更新,没有就插入。
node_invoke_nodeapi(
,
'presave'
);
global
$user
;
->is_new = FALSE;
$result
= db_query(
'SELECT `nid`,`field_asin_value` FROM `content_type_story`'
while
(
$data
= db_fetch_object(
)){
if
->field_asin_value ==
->field_asin[
'0'
][
'value'
]) {
->is_new = TRUE;
->vid =
->nid;
->nid =
}
else
{
empty
->log)) {
unset(
->log);
->created)) {
->created = time();
->changed = time();
->timestamp = time();
->format = isset(
->format) ?
->format : FILTER_FORMAT_DEFAULT;
->is_new != 1) {
echo
'aaa'
_node_save_revision(
->uid);
drupal_write_record(
'node'
db_query(
'UPDATE {node_revisions} SET nid = %d WHERE vid = %d'
->nid,
->vid);
$op
=
'insert'
'bbb'
'nid'
(!
->revision)) {
'UPDATE {node} SET vid = %d WHERE nid = %d'
->vid,
->nid);
->uid,
'vid'
'update'
node_invoke(
node_access_acquire_grants(
cache_clear_all();
另外框架建议用symfony 2 或者yii。
2 个回答
其实你参考drupal_write_record() 的方式就可以知道如何写了。给你一个drupal_write_record() 写入节点内容的方法:
functionamnode_save(&$node) {//定义存储函数,如果有相同asin码就更新,没有就插入。node_invoke_nodeapi($node,'presave');global$user;$node->is_new = FALSE;$result= db_query('SELECT `nid`,`field_asin_value` FROM `content_type_story`');while($data= db_fetch_object($result)){if($data->field_asin_value ==$node->field_asin['0']['value']) {$node->is_new = TRUE;$node->vid =$data->nid;$node->nid =$data->nid;}else{if(empty($node->log)) {unset($node->log);}}}if(empty($node->created)) {$node->created = time();}$node->changed = time();$node->timestamp = time();$node->format = isset($node->format) ?$node->format : FILTER_FORMAT_DEFAULT;if($node->is_new != 1) {echo'aaa';_node_save_revision($node,$user->uid);drupal_write_record('node',$node);db_query('UPDATE {node_revisions} SET nid = %d WHERE vid = %d',$node->nid,$node->vid);$op='insert';}else{echo'bbb';drupal_write_record('node',$node,'nid');if(!empty($node->revision)) {_node_save_revision($node,$user->uid);db_query('UPDATE {node} SET vid = %d WHERE nid = %d',$node->vid,$node->nid);}else{_node_save_revision($node,$user->uid,'vid');}$op='update';}node_invoke($node,$op);node_invoke_nodeapi($node,$op);node_access_acquire_grants($node);cache_clear_all();}孤魂LV 8
另外框架建议用symfony 2 或者yii。