我正在尋找一種方法,使Moodle的2.9包括用戶密碼在介紹電子郵件發送在與新的用戶數據CSV表的手動上傳。如何讓Moodle在發送的電子郵件中包含用戶密碼?
到目前爲止,它在發送介紹電子郵件與設置在local_welcome插件文本通過
Plugins/Local Plugins/Moodle welcome
這個文本是配置包含字段,如[用戶名],[全稱] ]被實際值取代,但沒有[[密碼]]等字段。
我曾嘗試在文本中包括
[[password]]和
{$a->newpassword},但都不起作用,Moodle不會用實際密碼替換這些字符串;這些字符串是逐字發送的。無論密碼是通過CSV上傳還是生成,都會發生這種情況。
到目前爲止,我沒有找到在網絡上解決這個問題的運氣。在這個函數的官方幫助頁面是不幸空: https://docs.moodle.org/29/en/admin/setting/local_welcome
奇怪的是,當我創建通過
Users/Add a new user,
只是一個用戶在Moodle的手電子郵件將其發送到用戶不說從插件local_welcome。使用在moodle php文件中某處定義的字符串。這包含字符串{$ a-> newpassword},它按預期工作;用戶同時獲得用戶名和密碼。
如何使批量上傳的行爲類似?我正在尋找任何可行的方法來完成這項工作。如果我的問題不明確,請在評論中提問。
密碼不存儲在Moodle的任何地方(只有需要時可以比較的散列版本)。要獲取帶有上傳的CSV密碼的電子郵件的唯一方法是編輯批量上傳工具的代碼,以便在生成用戶的同時生成歡迎消息(或創建新的批量上傳工具)。 – davosmith
密碼可能不存儲,但它們可以在生成後發送 - 當我只添加一個用戶時會發生這種情況。所以看起來這個功能已經在代碼中了。我只需要使其適用於批量上傳,而不僅僅是爲了創建一個用戶。 –
它可以正常上傳,如果你讓Moodle創建密碼:設置用戶首選項'create_password';然後,Moodle運行後臺任務,找到所有具有此首選項的用戶,並調用「setnew_password_and_mail」(這符合您的期望)。如果您希望它通過電子郵件發送上傳的密碼,則需要編輯批量上傳工具的代碼。我上面的觀點是,您不能使用單獨的插件在帳戶創建後通過電子郵件發送密碼,因爲它們未被存儲 - 您只能在批量上傳代碼中執行此操作。 – davosmith