2011年9月15日 星期四

utycx 修改進度 7

X課表 鎖定非級任教師,增管理介面選單
X核心 管理介面圖示修改完成
榮譽榜 修改主圖示
學生簡易填報 測試完成

2011年9月6日 星期二

測試瑞埔國小成績單樣板

瑞埔國小成績單樣板
設計後測試運用到新版的utycx報告如下

1. 修正X導師 /管理介面 / 日檢欄位管理,選擇normal後,修正方框中的文字,每修正一欄要按一次後方的儲存。


2.修正X導師 /管理介面 / 日檢資料表管理,選擇normal後,點選上列勾選欄位加入資料表。


3. 上傳樣板檔,到X核心/報表管理/個人資料 ,上傳樣板,如紅色方框部份
上傳後到底下查出樣板編號(utycx顯示在最前面,tycx必須移到連結上去看。


4. 到X成績管理/TYC成績單/成績報表設定 ,將編號填入對應的年級,按下儲存


5. 修正X成績管理/管理介面/學期初始設定(tycx叫作偏好設定)中,返校、開學日期


6. TYC成績管理設定 (tycx在管理區/偏好設定/X成績管理/TYC成績管理設定)

使用預設的相關訊息
設定為否

在utycx一樣可以成功修改
唯一會錯誤的是印章,它會變成藍色,所以建議自訂成績單的樣板將印章做上去,勾選學期初始設定時,不要選印章

utycx 修改進度6

X核心/班級與課程/教師任教科目一
分成兩種模式
(1) 選擇班級,上方出現選擇課程和節數的輸入方式,中間出現目前教師任教節數可供修改刪除,下方出現該班級的所有課程和目前任課教師與節數,未任課的節數可以給目前教師快速的設定節數給他。
(2) 選擇年級,則出現班級的勾選項目,可以設定老師同一科目認教多班的情況。

這部份的修正,發揮了 sxsbase_class.php的rsInfo功能
和jQuery 的功能

但是也發現 x_shepherd/shepherd2.php無法開啟
找了好久終於找到
$stud_base=sxsreg_class ::stud_base($stud_sn);
要改成
$stud_base=$xshepherd->stud_base($stud_sn);
因為
stud_base運用了 $this->rsInfo(),使得 stud_base不再能靜態取用了


2011年9月5日 星期一

將tycx轉成utycx

轉法是將資料庫和程式碼先備份到另外一個資料庫和目錄
然後用備份的那個升級
1. 清空 ..._session 資料表
2. 升級到 xoops 2.3.3 同時將編碼改成 utf8 (使用升級功能時會問)
3. 升級到 xoops 2.4.5
4. 到 下載utf8 的 utycx模組覆蓋掉
5. 清空 ..._sxs_database_update 資料表
6. 清空 ..._sxs_scorem_database_update資料表
7. 刪掉 uploads/tycx/*.cfg
8. 手動將 uploads/x_base/*.txt 轉成utf8 或直接刪掉
9. 手動將 uploads/tycx/scorem.set/*.csv 轉成utf8 或直接刪掉

jquery應用於utycx

基本
在 sxs_interface中加入
$xoopsTpl->assign('xoops_module_header', str_replace('~',XOOPS_URL,'<script src="~/browse.php?Frameworks/jquery/jquery.js" type="text/javascript"></script>'));

xoops2.4.5以後要改用$xoTheme
$xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js');
$xoopsTpl->assign('xoops_module_header',...);留給模組內部使用

然後可以



echo "<script>
$('#class_menu').append('{$grad_option}');
</script>
"
;
在class_menu上加上額外的option

也可以
echo "<script>
$('#class_menu').change( function() { alert( $('#class_menu option:selected'.text() ) } );
</script>
"
;
增加onchange事件


2011年9月3日 星期六

utycx更新紀錄

核心更新重大突破
今天sxsbsae_class.php的sxs_base這個class,增加了rsInfo這個method
用來讀取資料表中的單一筆資料,甚至單一欄的內容
開始把school_base, stud_base, teacher_base, teacher_post, one_gclass轉成用rsInfo來讀取,簡化程式碼
後來發現
if(!$tea_sn) $tea_sn=$this->rsInfo("sxs_teacher_post", "tea_year='$gc_year' and tea_seme='$gc_seme' $os_where order by tea_sn",'tea_sn');
就可以把原來
if(!$tea_sn) $tea_sn=sxs_teacher::one_tea($gc_year , $gc_seme,$os);
取代掉
這樣也省略了
require_once('teacher_class.php')這一列
速度明顯變快
也不會遞迴呼叫了

stud_base('127') 可以取得stud_sn=127的個人資料
如果我想要取的 stud_id = '100002' 的個人資料就不能用 stud_base
要用
rsInfo('sxs_stud_base'," stud_id = '100002'");