還是在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數據表新辦法
直接運行下面的命令,會自動跳過已經設置好的記錄,修改新的記錄: