模組介紹:
這是一個可以提供報名(報到?)功能的模組。如果不想用webform那麼複雜的模組,signup絕對是你的選擇。為什麼要三個一起介紹?因為單是signup,功能有點陽春,要搭上Signup status 和 Signup schedualer 這兩個附加模組才有意思。
先說signup。他可以讓某個節點具有報名(signup, 暫譯)的功能,使用者報名之後,會寄一封確認電子郵件給報名者;接著在活動的前一天,如果有cron功能,會再寄一封提醒信件。具有管理這個節點的使用者,可以在節點上看到所有報名此活動的列表。
那麼,如果要分清楚,例如說,哪些人備取,哪些人正取呢?那就要用到 signup status了。在signup status中,可以訂定幾個status code,然後決定是使用者報名時一開始的狀態,或是讓使用者自己選,或是事後由管理者改變。接著,可以選擇當改變報名使用者的狀態時,寄一封電子郵件通知使用者。然後,在節點的管理頁,可以列出所有報名者的資料與狀態。
最後,假如要讓活動報名在某時間自動開啟、關閉呢?那就是signup schedualer的功能了。很簡單的,在決定這個節點具有報名功能時,就可以決定開啟與關閉報名的時間。這需要有cron來支持。
http://drupal.org/project/signup_status
http://drupal.org/project/signup_scheduler
回應
Re: Signup + Signup status + Signup schedualer
很棒的整合性介紹 :)
Re: Signup + Signup status + Signup schedualer
好物!
除了活動,是否也可以來做串連... :)
--
from open mind to open source~
Re: Signup + Signup status + Signup schedualer
可!用views把資料撈成RSS就行。
Re: Signup + Signup status + Signup schedualer
請問一下
它的欄位只有 名稱 跟 電話
可以增加嗎
比如 葷素
等
謝謝大家
Re: Signup + Signup status + Signup schedualer
是的,如果選的是"simple signup",只有這些選項。
如果你要用這三個模組來做報名,提供葷素、交通狀態...等等這些選項的話,就必須用別的思考方式。
例如,你用"item"選項,雖然他的意思是「參加者要提供的」,不過你可以反過來說是「可以提供給參加者的」,把葷素這些加在「項目」裡,名額設大一些,就可以讓使用者在報名時選擇「提供的物品」--其實是提供給參加者的物品。英文改不了,不過你可以自己在翻譯時把這些詞句改成適合的意思。
Re: Signup + Signup status + Signup schedualer
讚!很有巧思 :)
Re: Signup + Signup status + Signup schedualer
謝謝您的分享,
目前用於 http://140.127.53.222/lib/courses
感覺很棒
Re: Signup + Signup status + Signup schedualer
呼哇,超讚的,想不到可以應用到這種程度~~
問一下,課程列表應該是使用views拿出來的吧,可是後面的「我要報名」你是怎麼做的?
Re: Signup + Signup status + Signup schedualer
按此報名嗎?
我是用 Node: View link 帶到那個課程頁面
但是如果報名期限已過,"按此報名"的名稱不會有任何改變
Re: Signup + Signup status + Signup schedualer
嚇死人了,nobody1225大大太強了
特地註冊帳號來崇拜下,感恩
Re: Signup + Signup status + Signup schedualer
不好意思,我照著手冊做,但是還是沒看到可以報名的地方耶?
我是看這個
http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/signup/INSTALL.txt?view=co
可以指點一下嗎?
Re: Signup + Signup status + Signup schedualer
自己回。
權限控制有四項:
administer all signups
administer signups for own content
sign up for content
view all signups
跟INSTALL.txt講得不一樣。
而且一定要開啟administer all signups,該role的會員才能在發表文章時設定讓大家報名,且能編輯所有報名(包含不是自己發表的)
但我希望是在這個內容分類的node都能報名。
真苦惱!
Re: Signup + Signup status + Signup schedualer
content type 裡沒有 signup 的設定嗎?
Re:
hanamizuki 您好
抱歉,我看不懂您的意思耶
我設定的地方有
1.
content type 的 signup 設定
2.權限控製
如果沒有回答到你想要的答案
請您在留言
謝謝您了
Re:
謝謝Nobody1225,
可能我們裝的版本不太一樣,我的是Drupal5,這是我裝的
然後signup有裝,signup status沒裝。
我的權限控制是這樣
有點耍笨了,因為你們討論的不是Event+Signup...真抱歉。
不過為何我的signup權限控制比較少呢?沒有cancel own signup, 好怪。
您好 我也是5.X版 您先裝 Signup +
您好
我也是5.X版
您先裝 Signup + Signup status + Signup schedualer 這三個模組
就有那個權限了
Signup 可以讓您用在任何"內容類型" (包含 event,因為 event 也是"內容類型")
以下是我的作法:
新增內容類型
例如:想增加一個 courses 課程 內容類型
1.增加內容類型
管理 => 內容管理 => 內容類型 => 增加內容類型
2.編輯 活動訊息 分類
管理 => 內容管理 => 分類 => 編輯 活動訊息 分類
3.pathauto
管理 => 網站設定 => pathauto
4.增加欄位
管理 => 內容管理 => 內容類型 => 增加欄位
5.增加、啟動 signup 模組
管理 => 網站建置 => 模組
6.編輯 courses 課程 內容類型,啟用 signup 的支援 (Signup options)
管理 => 內容管理 => 內容類型 => 編輯 courses 課程 內容類型
7.增加 讀者填資料的欄位 "讀者備註"
修改 theme's template.php file
//修改 signup 模組
//增加 讀者填資料的欄位 "讀者備註"
function golden_hour_signup_user_form() {
global $user;
// This line is required for this form to function -- DO NOT EDIT OR REMOVE.
$form['signup_form_data']['#tree'] = TRUE;
$form['signup_form_data']['Name'] = array(
'#type' => 'textfield',
'#title' => t('借閱證號碼'),
'#size' => 40, '#maxlength' => 64,
//'#required' => true,
'#disabled' => true,
);
$form['signup_form_data']['Patron_Note'] = array(
'#type' => 'textarea',
'#title' => t('讀者備註'),
'#cols' => 40, '#rows' => 4,
'#description' => t('可以在此填入您的備註。無須備註的話,直接按下『報名』按鈕,即可報名。'),
);
// If the user is logged in, fill in their name by default.
if ($user->uid) {
$form['signup_form_data']['Name']['#default_value'] = $user->name;
}
return $form;
}
8.增加欄位 - 公告截止日期 field__52,為了放在 "訊息公告"
管理 => 內容管理 => 內容類型 => 增加欄位
9.修改 signup_scheduler.module 模組,因為 報名日期 都會變成 11-30-1990
將
/**
* Insert or Update
*/
裡的
$open = signup_scheduler_date_to_timestamp($node->signup_scheduler_open);
$close = signup_scheduler_date_to_timestamp($node->signup_scheduler_close);
替換成
$open = $node->signup_scheduler_open;
$close = $node->signup_scheduler_close;
10.修改 signup\signup.module 模組,讓線上報名區塊,不要顯示,已報名的個人資料
將 以下這段 註解掉
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
*
* 讓線上報名區塊,不要顯示,已報名的個人資料
*
* ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// If the user has the view signups perm, display the current signups.
// Pull all users signed up for this event, and start table creation.
if (user_access('view all signups')) {
$registered_signups = db_query("SELECT u.uid, u.name, s.signup_time, s.form_data FROM {signup_log} s INNER JOIN {users} u ON u.uid = s.uid WHERE s.nid = %d AND u.uid <> 0", $node->nid);
$anon_signups = db_num_rows(db_query("SELECT anon_mail FROM {signup_log} WHERE nid = %d AND uid = 0", $node->nid));
$header = array(array('data' => t('!users signed up', array('!users' => format_plural((db_num_rows($registered_signups) + $anon_signups), '1 individual', '@count individuals')))));
$rows = array();
while ($signed_up_user = db_fetch_object($registered_signups)) {
$rows[] = array(theme('username', $signed_up_user));
}
if ($anon_signups) {
$rows[] = array(t('!count anonymous', array('!count' => $anon_signups)));
}
$output .= theme('table', $header, $rows);
}
*/
11.增加 signup_user_list 的 views
檔案在 http://drupal.org/node/243035#comment-994747
243035_signup_user_list.view-php.8.txt 1.82 KB
Re: Signup + Signup status + Signup schedualer
嗯!裝成功了,不過有個截止時間的問題。
這個截止設定不會在一般會員發新文章的時候出現耶!只會在編輯文章的時候出現。
另外有辦法讓他跟Event的結束時間結合嗎?
Event的End Day一到,就不能再Signup了。
這是我的code,沒什麼特別。
function phptemplate_signup_user_form($node = NULL) {
global $user;
// This line is required for this form to function -- DO NOT EDIT OR REMOVE.
$form['signup_form_data']['#tree'] = TRUE;
$default_product_value = '鹿肝50gx2
花肝x6
';
$form['signup_form_data']['真實姓名'] = array(
'#type' => 'textfield',
'#title' => t('真實姓名'),
'#size' => 40, '#maxlength' => 64,
'#required' => true,
);
$form['signup_form_data']['聯絡電話'] = array(
'#type' => 'textfield',
'#title' => t('聯絡電話'),
'#size' => 40, '#maxlength' => 64,
'#required' => true,
);
$form['signup_form_data']['要的商品'] = array(
'#type' => 'textarea',
'#title' => t('要的商品'),
'#default_value' => $default_product_value,
'#description' => t('產品名稱x數量(每行一個)'),
'#size' => 40, '#maxlength' => 64,
'#required' => true,
);
$form['signup_form_data']['小計'] = array(
'#type' => 'textfield',
'#title' => t('自己算小計'),
'#size' => 40, '#maxlength' => 64,
'#required' => true,
);
$form['signup_form_data']['面交時間'] = array(
'#type' => 'textarea',
'#title' => t('面交時間'),
'#description' => t('根據主購的面交說明填寫方便的面交時間'),
'#size' => 20, '#maxlength' => 64,
);
$form['signup_form_data']['是否郵寄'] = array(
'#type' => 'checkbox',
'#title' => t('是否郵寄?'),
'#default_value' => $node->signup_send_confirmation,
'#description' => t('記得看清楚主購說的郵資喔!若有勾選的話,請填寫下列表單。'),
);
$form['signup_form_data']['收件姓名'] = array(
'#type' => 'textfield',
'#title' => t('收件姓名'),
'#size' => 40, '#maxlength' => 64,
);
$form['signup_form_data']['收件電話'] = array(
'#type' => 'textfield',
'#title' => t('收件電話'),
'#size' => 40, '#maxlength' => 64,
);
$form['signup_form_data']['收件地址'] = array(
'#type' => 'textfield',
'#title' => t('收件地址'),
'#size' => 40, '#maxlength' => 64,
);
// If the user is logged in, fill in their name by default.
if ($user->uid) {
//$form['signup_form_data']['Name']['#default_value'] = $user->name;
}
return $form;
}
Re: Signup + Signup status + Signup schedualer
問題一:這個截止設定不會在一般會員發新文章的時候出現耶!只會在編輯文章的時候出現。
回答:我的有耶,你有開權限給一般會員嗎?
問題二:另外有辦法讓他跟Event的結束時間結合嗎?
回答:這問題也是困擾著我,有誰可以解決嗎?
如圖
"上課結束時間"是Event 的結束時間
"報名結束時間"是signup 的截止時間
但是 signup 的截止時間 只能幾年幾月幾日,沒有幾點幾分
所以現在都是 08:00
Re:
signup 不是 報名模組 嗎
你怎麼這麼有創意,還可以把它變成賣東西的模組
如果你想要開發 購物車 網站
推薦你用 ECSHOP http://www.ecshop.tw/
目前看過最好的 購物車系統 (免費的)
範例
http://bbs.ecshop.tw/forum-24-1.html
試試看
真的很好用
Re: Signup + Signup status + Signup schedualer
請問一下
沒看到這個東西
是因為signup版本不同嗎
我用的是2.7
謝謝
Re: Signup + Signup status + Signup schedualer
請問一下
>是的,如果選的是"simple signup",只有這些選項。
那看來似乎有其他的選項可以增加欄位
可是沒看到 只有名稱跟電話兩個欄位
謝謝
Re: Signup + Signup status + Signup schedualer
對不起
沒注意到您在2/13日有問問題
增加欄位要修改您的版型 theme's template.php file
例如
http://drupaltaiwan.org/module/signup_signup_status_signup_schedualer#co...
7.增加 讀者填資料的欄位 "讀者備註"
修改 theme's template.php file
function 您的版型名稱_signup_user_form() {
...
或者另外一個範例
http://drupaltaiwan.org/module/signup_signup_status_signup_schedualer#co...
function 您的版型名稱_signup_user_form($node = NULL) {
...
試試看吧
Re: Signup + Signup status + Signup schedualer
-
Re: Signup + Signup status + Signup schedualer
-
Re: Signup + Signup status + Signup schedualer
請問drupal taiwan中所使用的線上報名也是這個嘛?
Re: Signup + Signup status + Signup schedualer
我想詢問報名欄位的資訊欄如果要增加一個欄位的話,就像以下的方式增加。
但是不用改寫入資料表。連同在報名時的處理?
----------------------------------------------------------------------------------------
$form['signup_form_data']['Patron_Note'] = array(
'#type' => 'textarea',
'#title' => t('讀者備註'),
'#cols' => 40, '#rows' => 4,
'#description' => t('可以在此填入您的備註。無須備註的話,直接按下『報名』按鈕,即可報名。'),
);
--------------------------------------------------------------------------------------------------------------------
照著上面的步奏的第七點不理解為什麼要於template.php新增讀者備註~
7.增加 讀者填資料的欄位 "讀者備註"
修改 theme's template.php file
Re: Signup + Signup status + Signup schedualer
您好
"為什麼要於template.php新增讀者備註"
這是drupal的厲害之處
不用讓您寫模組
可以在template.php覆蓋某個模組某個方法
不知道有沒有說對
還是有更好的解釋
請大家解釋一下囉
Re: Signup + Signup status + Signup schedualer
nobody1225我大概懂你的意思了。就是不要修改模組,而是說能以template.php的方式。
就好像modules和site/all/modules那種感覺! (=_="對吧)
但我有疑問哦~如果有很多報名的資料類型,但是所需的欄位不同,是不是也能以template.php的方式來操作呢?
例:a課程報名(填得報名資訊只有1.2.3)
b課程報名(填得報名資訊只有1.2.3.4)
那麼它在template.php的方式是不是分別是如下方式呢?
a課程報名:function phptemplate_signup_course_a_form($node = NULL) { XXXX}
b課程報名function phptemplate_signup_course_b_form($node = NULL) { XXXX}
再請大家指點疑問。非常的感謝
Re: Signup + Signup status + Signup schedualer
好問題
我目前也不會
您可以去模組官網問問
如果有結果,請PO上來喔
Re: Signup + Signup status + Signup schedualer
是哦! 若我有結果會po上來的~因為最近也在弄這部份。
那nobody1225可再請教一些問題哦。
那像以template的的方式新增完一個新的欄位後。那在這個新欄位是不是得改那個地方將資料insert進入呢?(而你有寫入db這部份你是改那些的模組呢。
然後這樣子就也能node和看目前的報名人數後也新增加一個欄位了嘛?
-----------------------------------------------------------------------------------------------------------------
// If the user has the view signups perm, display the current signups.
// Pull all users signed up for this event, and start table creation.
if (user_access('view all signups')) {
$registered_signups = db_query("SELECT u.uid, u.name, s.signup_time, s.form_data FROM {signup_log} s INNER JOIN {users} u ON u.uid = s.uid WHERE s.nid = %d AND u.uid <> 0", $node->nid);
Re: Signup + Signup status + Signup schedualer
喔
如果您有輸入資料
您現在應該可以用views抓出來
Re: Signup + Signup status + Signup schedualer
詢問使用者報了名後的信件通知問題。
(1)出現了Unable to send e-mail. Please contact the site administrator if the problem persists.(附圖1)
在smtp的架設是使用SMTP Authentication Support
而且在SMTP server settings還E-mail options都有設對,並且寄Send test e-mail也有到自已的信箱去~
並收到「主旨:Drupal test e-mail
If you receive this message it means your site is capable of sending e-mail.」
那如果我的上面發信的設定都沒問題的情況下~
那是我Signup模組設定的問題嘛?
還是因為
而且錯誤訊息指向 includes\form.inc on line 1328.
如附圖1328.png
>w<再請求解答~謝謝
Re: Signup + Signup status + Signup schedualer
於template中加入以下方式,在報名資訊無資加欄位。我是使用6版的signup
而且去signup模組中搜尋golden_hour_signup_user_form無這個部份說
>w<…
function golden_hour_signup_user_form() {
global $user;
// This line is required for this form to function -- DO NOT EDIT OR REMOVE.
$form['signup_form_data']['#tree'] = TRUE;
$form['signup_form_data']['Name'] = array(
'#type' => 'textfield',
'#title' => t('xxxx01'),
'#size' => 40, '#maxlength' => 64,
//'#required' => true,
'#disabled' => true,
);
Re: Signup + Signup status + Signup schedualer
我使用template的方式一直無法新增欄位。所以就找到直接修改signup的theme的signup_form.inc去新增了欄位。
覺得滿神奇的是…只是新增欄位就能讓資料寫入~也不用下db~…
那我現在剩寄信有問題了~~>w<尋求大家的幫忙了~~~
因為當使用者報了名後。結果出現如下畫面~
但是我系統管理員的寄收發信是正常的~~
如下
http://drupaltaiwan.org/module/signup_signup_status_signup_schedualer#comment-12691
Re: Signup + Signup status + Signup schedualer
新增了如下欄位~但~不知要如方式將所選的值於附圖中秀出~
$form['idcategory']['idcategory'] = array(
'#type' => 'radios',
'#title' => t('idcategory'),
'#required' => TRUE,
'#options' => array(
'0' => t('course01'),
'1' => t('course02'),
'2' => t('course03'),
),
'#default_value' => '1',
);
Re: Signup + Signup status + Signup schedualer
不好意思
還再想說您怎麼沒下文
原來是我抓了圖卻忘了上傳
Re: Signup + Signup status + Signup schedualer
nobody1225謝謝您 >w<…想說都問無人了…
但是圖看不清楚>w<…
而且在cck的報名時間限定,不管怎設格式都會跑掉~
然後想詢問如附圖中的設定~是不是這個意思
Re: Signup + Signup status + Signup schedualer
這個圖只有教您從views 撈出 signup 表單上的資料喔
Re: Signup + Signup status + Signup schedualer
只有第一個解釋有誤
send signups to 如果有人報名,要通知誰
Re: Signup + Signup status + Signup schedualer
了解~意思是指那裡填得應的要給管理者要看的訊息。
還有遇到一估新問題了~
如果使用者註冊才能報名
在註冊完使用者-->能收到一封確認信
但進入報名後-->有收到報名確認信,但是卻出現如附件的圖示~~(但只有報名後那裡才會跑這訊息)
而且學校的都能收到信~但是在gmail和yahoo就都收不到~~
也有看過自已的php.ini的設定
[mail function]
; For Win32 only.
SMTP = xx.xx.xx.xx
smtp_port = 25
; For Win32 only.
sendmail_from = jj@xxx.com.tw
Re: Signup + Signup status + Signup schedualer
您學校的郵件伺服器應該是免費的webmail吧
我的解決方式是
將網站的mail設定為學校發的mail
例如:@nknu.edu.tw
試試
Re: Signup + Signup status + Signup schedualer
nobody1225:
應是微軟mail server~
但有用其它測試是可正常收發信~但套用在singup上就出現以上錯誤訊息…
但是指我不要在前面打xxx@nknu.edu.tw
而是打成@nknu.edu.tw就好嘛?
Re: Signup + Signup status + Signup schedualer
那將SMTP模組改用這個試試
http://drupaltaiwan.org/module/phpmailer
Re: Signup + Signup status + Signup schedualer
不知有無其它人也遇過這方面的問題~>w<
Re: Signup + Signup status + Signup schedualer
想詢問像最近在做區塊中特定頁面顯示訊息~
但是使用了singup模組建立了內容類型,在裡面的「登入」的連結是連到以下這頁~
登入頁的連結是連到「/user/login?destination=node/8」
但正常應是/user這頁才是~~有人遇過這問題嘛?
因為我設區塊顯示特定頁面user/login?destination=node/8結果沒效用~
謝謝
Re: Signup + Signup status + Signup schedualer
我想請問大家都是用drupal6去安裝signup和他的輔助模組嗎?
因為schedular模組似乎沒有出drupal6的版本
這樣就看不出來他的作用在哪裡了
而我安裝了很多其他的輔助模組
可是像我在安裝"Signup integration for Ubercart"時
他顯示"Uc_product (missing), Ca (missing)"
但我有去查了沒有這兩種模組是怎麼一回事呢?
感覺很深奧呢ˊ ˋ
我看各位大大都好厲害QQ
是不是我太弱了((哭