我在使用 Auth 這個 Component 時,由於很多地方都會使用到 User 這個 Model 來實現一些功能,所以我在 app_controller.php 裡面於 __construct 時將一個 User 物件 new 出來,並將其設為 AppController 的屬性來共用。

問題發生在 user/add 的 action 上面,當執行 $this->User->save($this->data) 時,總是會改寫到登入 User 的資料,而非新增一筆 User 的資料。
後來我發現,$this->User 的 id 屬性變成登入 User 的 id(正常的狀況是,這個 id 屬性應為 false)。
所以我檢查 app_controller.php 使用到 User 的地方,發現只要在 beforeFilter 這個方法內,另外 new 一個 User 物件出來代替使用 AppController 的 User 屬性即可解決這個問題。

HACGIS 發表在 痞客邦 留言(0) 人氣()

方法其實很簡單,在 Controller 裡面的 action function 裡面設定 $this->data 這個值即可。

add:
$this->data = $this->Model->create();

HACGIS 發表在 痞客邦 留言(0) 人氣()

話說這一版出來有一段時間了,不過之前因為在趕案子,沒空測試,所以拖到上禮拜比較閒的時候才換上新版~
我是有參加那個當日下載的金氏世界紀錄啦,不過當天我就發現可攜版也同時放出來了~

有些附加元件並沒有這一版,所以我重新做了一個目前我在用的列表:

 

HACGIS 發表在 痞客邦 留言(0) 人氣()

目前做的這個案子,需要把舊的文章匯入到新的系統中,匯入是沒什麼問題的,文章數目沒少,可是有些文章就是有幾個欄位匯不進來。
研究之後發現,是因為文章本文的欄位 (一般來說是 Body) 的內容引起的問題,實際上因為內容很長,我也無法判斷問題出在哪?

只記得為了避免雙引號跟換行字元,我在匯入之前已經先處理裡過了:我用 OpenOffice.org 來置換字元,因為他支援正規表達式的搜尋與取代,我把雙引號換成單引號、換行字元換成 <br />。

HACGIS 發表在 痞客邦 留言(0) 人氣()

Node Import 模組是個非常好用的模組,可以把各種類型的 Node 資料先用打好,存成 csv 檔然後匯入。
不過對於自設的 CCK 欄位有個缺憾,就是在匯入之前必須先把 widget 的型態,由 option (select list / checkbox / radio) 改成 text,這樣才能匯入,實在是不太方便。
我修改了一點程式,讓它可以不用轉換 widget 的型態也能匯入,不過有個限制,目前修改的方式,只支援 Allowed values list 為下列形式:

value1

HACGIS 發表在 痞客邦 留言(0) 人氣()