还是在Business Profile Report这个网站的设置中,我们有些特别的需求,例如:批量设置产品初始价格、顺序添加SKU产品编码、产品页面更新日期等,都可以用PHP程序来实现,程序bulk_set.php记录如下:
<?php
$_SERVER['HTTP_HOST'] = 'report.bizdirlib.com';
$_SERVER['SCRIPT_NAME'] = '/bulk_set.php';
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$drupal_path = '/var/www/html/report.bizdirlib.com/';
chdir($drupal_path);define('DRUPAL_ROOT', $drupal_path);
#require_once './includes/bootstrap.inc';
require_once DRUPAL_ROOT.'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);$node_type = "product";
$limit = 1;
$offset = 2;
$sql = "SELECT node.nid FROM {node} WHERE node.type = '$node_type' LIMIT $limit OFFSET $offset";
$result = db_query($sql);
while ($anode = $result->fetch()) {
$node=node_load($anode->nid);
//将CCK数据库字段读出赋值给变量
//基本信息,字段对应是准确的
#$sell_price=$node->field_sell_price[0]['value'];
#$model=$node->field_model[0]['value'];
$price_set="650.00000";
$model_set="C";
$date_set=gmmktime(0,0,0,12,16,2012);//hour,minute,second,month,day,year$nid=$node->nid;
$new=$node;
$new->sell_price=$price_set;
$new->model=$model_set.$nid; //顺序设置SKU,产品编号除了第一个字母C以外后面是与$nid一样的数字
//$new->created=$date_set;
$new->changed=$date_set;
$new->revision_timestamp=$date_set;
node_save($new);
echo "<br>Done!<br>\n"
?>
上面这个例子以Drupal 7系统来显示的,Drupal 6中也可以用类似的办法。
评论1
补充更新uc_products数据表新办法
直接运行下面的命令,会自动跳过已经设置好的记录,修改新的记录: