2012-02-10 48 views
1

我是想多了一個屬性添加在露天分享用戶個人資料頁面。我做了所有必要的事情來添加一個屬性到內容模型和用戶界面。添加一個屬性在我的個人資料頁 - 露天分享

然後我看到一個調試消息

重點「的綽號」沒有對 org.springframework.extensions.webscripts.ScriptUser 內省信息類的實例發現是:{getJobTitle =公共 的java .lang.String org.springframework.extensions.webscripts.ScriptUser.getJobTitle()..

而且新的屬性值並沒有顯示在頁面上,我的個人資料頁面。

什麼其他東西,我需要新增加一個屬性設置爲「我的個人資料」頁面在露天分享?

任何形式的幫助表示讚賞。

回答

3

這是幫人誰有類似的要求。需要更改以下文件。

org.springframework.extensions.webscripts.ScriptUser.java 
org.springframework.extensions.webscripts.connector.User.java 
org.springframework.extensions.surf.support.AlfrescoUserFactory.java 

userprofile.get.html.ftl 
contentModel.xml 
+0

感謝分享。任何機會,你可以提供更詳細的解釋,需要什麼? – skuro 2012-02-10 09:25:53

+0

黑客春季衝浪/春季webscripts類是一個相當糟糕的主意傢伙!不是100%確定,但是iirc,您可以使用org.springframework.extensions.webscripts.ScriptBase的properties屬性來傳輸自定義屬性。 :) – 2012-02-10 17:20:07

+0

@skuro我的要求限於添加另外兩個文本字段。所以我遵循了「skype」屬性的定義方式。 – zawhtut 2012-02-11 02:20:59

3

您可以添加自定義屬性到釐米:人的對象,然後揭露那些性質的露天共享用戶界面,而無需修改任何超出現成露天文件。我沒有寫下與之相關的博客文章,但最終與寫作相關的源代碼將生效here

在一個高層次的,步驟是:

第1步:擴展org.alfresco.web.site.SlingshotUserFactory用自己的工廠類 - 重寫constructSomeUser方法。按照現有模式建立自己的模式。 - 覆蓋saveUser - 線在通過彈簧的自定義用戶使用工廠父=「webframework.factory.base」

步驟2:在共享配置定製,覆蓋默認值,用戶工廠元素的指針新用戶工廠bean

步驟3:覆蓋露天的profile.js用自己的。 - 修改onEditProfile以包含您的自定義道具

第4步:使用您自己的擴展org/alfresco/components/profile/userprofile.get.html.ftl,其中包含您的自定義屬性的字段和標籤。

步驟5:外部化的字符串。

我在露天3.4.d社區試過,但現在還沒有嘗試過在露天4社區。

+0

@Jeff_Potts謝謝傑夫。感謝您分享良好的做法。 – zawhtut 2012-02-21 09:41:07

+0

我試圖做出這個答案,但我有一個問題:http://stackoverflow.com/questions/35865875/servlet-service-for-servlet-spring-surf-dispatcher-servlet-in-context-with-任何人都可以幫助我嗎? – PRVS 2016-03-10 21:43:39