大家好! 在下安裝Ubercart 模組後,能夠順利建立商品頁面,內容包含商品描述、價格、我要購買等等...。 但是除了展示商品之外,還希望可以在商品的頁面顯示哪些人買過這個商品、以及商品剩下多少存貨。 本來打算用Content Templates抓取資料,可是發現沒有這兩項的變數可以顯示,不知道還有甚麼方法可以達到目的,請各位指教,感激不盡! saa 模組/Modulesubercart6.x 發表回應前,請先登入或註冊 Re: Ubercart 的商品頁面能否顯示購買者? 嘗試使用uc_who_bought_what 這個模組,可以讓賣家看到哪些人購買這份商品。 問題是它的設定只能顯示申請者下訂後的相關資料,如「E-mail」、「HowPay(付款方式)」、「申請日期」等等...,無法顯示我要的「使用者帳號」,只好直接跑去改模組... 首先進入 uc_who_bought_what 資料夾中的 uc_who_bought_what.module 檔案,已知我想要的「使用者帳號」位於users資料表中,因此找到 $sql = "SELECT $sqsel FROM $uc_orders JOIN $uc_order_products" . " ON $uc_order_products.order_id = $uc_orders.order_id " . " AND $uc_order_products.nid = $product_id"; 將users資料表給JOIN進去,並根據uid(使用者編號)來抓取資料,修改後如下: $sql = "SELECT $sqsel FROM ($uc_orders JOIN $uc_order_products" . " ON $uc_order_products.order_id = $uc_orders.order_id " . " AND $uc_order_products.nid = $product_id ) JOIN users ON $uc_orders.uid = users.uid"; 搜尋找到下面這段,第三段「array('data' => t('Name'), 'field' => 'Name', 'sql_field' => "users.name")」是修改後的部分: $header = array( //thanks to blackice78 for this code fix array('data' => t('Qty'), 'field' => 'Qty', 'sql_field' => "$uc_order_products.qty"), array('data' => t('Name'), 'field' => 'Name', 'sql_field' => "users.name"), array('data' => t('Email'), 'field' => 'Email', 'sql_field' => "$uc_orders.primary_email"), array('data' => t('Phone'), 'field' => 'Phone', 'sql_field' => "$uc_orders.billing_phone"), array('data' => t('Price'), 'field' => 'Price', 'sql_field' => "$uc_order_products.price"), array('data' => t('Total'), 'field' => 'Total', 'sql_field' => "($uc_order_products.price * $uc_order_products.qty)"), array('data' => t('Date'), 'field' => 'Date', 'sql_field' => "FROM_UNIXTIME($uc_orders.created, '%Y.%m.%e')"), array('data' => t('HowPay'),'field' => 'HowPay','sql_field' => "$uc_orders.payment_method"), array('data' => t('Status'),'field' => 'Status','sql_field' => "$uc_orders.order_status"), array('data' => t('ID'), 'field' => 'ID', 'sql_field' => "$uc_orders.order_id"), ); 找到下面這段,增加「$temparray[]= l($customer['Name'], 'user/' . $customer['uid']);」,修改後如下:$temparray[]= $customer['Qty']; $temparray[]= l($customer['Name'], 'user/' . $customer['uid']); $temparray[]= l($customer['Email'], 'mailto:' . $customer['Email']); $temparray[]= $customer['Phone']; $temparray[]= number_format($customer['Price'],2); $temparray[]= number_format($customer['Total'],2); $temparray[]= $customer['Date']; $temparray[]= $customer['HowPay']; $temparray[]= l($customer['Status'],'admin/store/orders/' . $customer['ID']); 說明:根據購買者的uid去抓取users資料表中的name欄位,並顯示之。 完成後終於可以看到使用者帳號(即"名稱")了! 可是這個其實不是我要的...至今還是找不到直接將申請者名單條列在分享頁面上的方法... 發表回應前,請先登入或註冊 Re: Ubercart 的商品頁面能否顯示購買者? 我有個想法!!你可以試試 利用觸發以及流程模組去建立這個事件再用view去撈資料 發表回應前,請先登入或註冊
Re: Ubercart 的商品頁面能否顯示購買者? 嘗試使用uc_who_bought_what 這個模組,可以讓賣家看到哪些人購買這份商品。 問題是它的設定只能顯示申請者下訂後的相關資料,如「E-mail」、「HowPay(付款方式)」、「申請日期」等等...,無法顯示我要的「使用者帳號」,只好直接跑去改模組... 首先進入 uc_who_bought_what 資料夾中的 uc_who_bought_what.module 檔案,已知我想要的「使用者帳號」位於users資料表中,因此找到 $sql = "SELECT $sqsel FROM $uc_orders JOIN $uc_order_products" . " ON $uc_order_products.order_id = $uc_orders.order_id " . " AND $uc_order_products.nid = $product_id"; 將users資料表給JOIN進去,並根據uid(使用者編號)來抓取資料,修改後如下: $sql = "SELECT $sqsel FROM ($uc_orders JOIN $uc_order_products" . " ON $uc_order_products.order_id = $uc_orders.order_id " . " AND $uc_order_products.nid = $product_id ) JOIN users ON $uc_orders.uid = users.uid"; 搜尋找到下面這段,第三段「array('data' => t('Name'), 'field' => 'Name', 'sql_field' => "users.name")」是修改後的部分: $header = array( //thanks to blackice78 for this code fix array('data' => t('Qty'), 'field' => 'Qty', 'sql_field' => "$uc_order_products.qty"), array('data' => t('Name'), 'field' => 'Name', 'sql_field' => "users.name"), array('data' => t('Email'), 'field' => 'Email', 'sql_field' => "$uc_orders.primary_email"), array('data' => t('Phone'), 'field' => 'Phone', 'sql_field' => "$uc_orders.billing_phone"), array('data' => t('Price'), 'field' => 'Price', 'sql_field' => "$uc_order_products.price"), array('data' => t('Total'), 'field' => 'Total', 'sql_field' => "($uc_order_products.price * $uc_order_products.qty)"), array('data' => t('Date'), 'field' => 'Date', 'sql_field' => "FROM_UNIXTIME($uc_orders.created, '%Y.%m.%e')"), array('data' => t('HowPay'),'field' => 'HowPay','sql_field' => "$uc_orders.payment_method"), array('data' => t('Status'),'field' => 'Status','sql_field' => "$uc_orders.order_status"), array('data' => t('ID'), 'field' => 'ID', 'sql_field' => "$uc_orders.order_id"), ); 找到下面這段,增加「$temparray[]= l($customer['Name'], 'user/' . $customer['uid']);」,修改後如下:$temparray[]= $customer['Qty']; $temparray[]= l($customer['Name'], 'user/' . $customer['uid']); $temparray[]= l($customer['Email'], 'mailto:' . $customer['Email']); $temparray[]= $customer['Phone']; $temparray[]= number_format($customer['Price'],2); $temparray[]= number_format($customer['Total'],2); $temparray[]= $customer['Date']; $temparray[]= $customer['HowPay']; $temparray[]= l($customer['Status'],'admin/store/orders/' . $customer['ID']); 說明:根據購買者的uid去抓取users資料表中的name欄位,並顯示之。 完成後終於可以看到使用者帳號(即"名稱")了! 可是這個其實不是我要的...至今還是找不到直接將申請者名單條列在分享頁面上的方法... 發表回應前,請先登入或註冊
Re: Ubercart 的商品頁面能否顯示購買者?
嘗試使用uc_who_bought_what 這個模組,可以讓賣家看到哪些人購買這份商品。
問題是它的設定只能顯示申請者下訂後的相關資料,如「E-mail」、「HowPay(付款方式)」、「申請日期」等等...,無法顯示我要的「使用者帳號」,只好直接跑去改模組...
首先進入 uc_who_bought_what 資料夾中的 uc_who_bought_what.module 檔案,已知我想要的「使用者帳號」位於users資料表中,因此找到
$sql = "SELECT $sqsel FROM $uc_orders JOIN $uc_order_products" .
" ON $uc_order_products.order_id = $uc_orders.order_id " .
" AND $uc_order_products.nid = $product_id";
將users資料表給JOIN進去,並根據uid(使用者編號)來抓取資料,修改後如下:
$sql = "SELECT $sqsel FROM ($uc_orders JOIN $uc_order_products" .
" ON $uc_order_products.order_id = $uc_orders.order_id " .
" AND $uc_order_products.nid = $product_id ) JOIN users ON $uc_orders.uid = users.uid";
搜尋找到下面這段,第三段「array('data' => t('Name'), 'field' => 'Name', 'sql_field' => "users.name")」是修改後的部分:
$header = array( //thanks to blackice78 for this code fix
array('data' => t('Qty'), 'field' => 'Qty', 'sql_field' => "$uc_order_products.qty"),
array('data' => t('Name'), 'field' => 'Name', 'sql_field' => "users.name"),
array('data' => t('Email'), 'field' => 'Email', 'sql_field' => "$uc_orders.primary_email"),
array('data' => t('Phone'), 'field' => 'Phone', 'sql_field' => "$uc_orders.billing_phone"),
array('data' => t('Price'), 'field' => 'Price', 'sql_field' => "$uc_order_products.price"),
array('data' => t('Total'), 'field' => 'Total', 'sql_field' => "($uc_order_products.price * $uc_order_products.qty)"),
array('data' => t('Date'), 'field' => 'Date', 'sql_field' => "FROM_UNIXTIME($uc_orders.created, '%Y.%m.%e')"),
array('data' => t('HowPay'),'field' => 'HowPay','sql_field' => "$uc_orders.payment_method"),
array('data' => t('Status'),'field' => 'Status','sql_field' => "$uc_orders.order_status"),
array('data' => t('ID'), 'field' => 'ID', 'sql_field' => "$uc_orders.order_id"),
);
找到下面這段,增加「$temparray[]= l($customer['Name'], 'user/' . $customer['uid']);」,修改後如下:
$temparray[]= $customer['Qty'];
$temparray[]= l($customer['Name'], 'user/' . $customer['uid']);
$temparray[]= l($customer['Email'], 'mailto:' . $customer['Email']);
$temparray[]= $customer['Phone'];
$temparray[]= number_format($customer['Price'],2);
$temparray[]= number_format($customer['Total'],2);
$temparray[]= $customer['Date'];
$temparray[]= $customer['HowPay'];
$temparray[]= l($customer['Status'],'admin/store/orders/' . $customer['ID']);
說明:根據購買者的uid去抓取users資料表中的name欄位,並顯示之。
完成後終於可以看到使用者帳號(即"名稱")了!
可是這個其實不是我要的...至今還是找不到直接將申請者名單條列在分享頁面上的方法...
Re: Ubercart 的商品頁面能否顯示購買者?
我有個想法!!你可以試試
利用觸發以及流程模組去建立這個事件再用view去撈資料