0
我創建了一個自定義Dashlet,並將其添加到站點儀表板。僅在特定用戶的現場儀表板上顯示自定義Dashlet
但現在我的要求是,我想要顯示該自定義只爲網站管理員,我想隱藏它的所有其他用戶。
任何人都可以幫助我嗎?如何隱藏所有消費者和協作者的自定義Dashlet。
在此先感謝。
我創建了一個自定義Dashlet,並將其添加到站點儀表板。僅在特定用戶的現場儀表板上顯示自定義Dashlet
但現在我的要求是,我想要顯示該自定義只爲網站管理員,我想隱藏它的所有其他用戶。
任何人都可以幫助我嗎?如何隱藏所有消費者和協作者的自定義Dashlet。
在此先感謝。
在你的控制器的JavaScript(又名.get.js文件)添加額外的remote.call來獲取當前用戶的喜歡羣體:
var groupResult = remote.call("/api/people/" + stringUtils.urlEncode(user.name) + "?groups=true");
使用結果和eval它,然後將其發送到你的freemarker dashlet。
---更新--- 你也可以看看默認的share-header webscript。 看看文件組織\戶外\共享\進口\共享header.lib.js
的片段:
// Call the repository to see if the user is site manager or not
var userIsSiteManager = false,
userIsMember = false;
json = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships/" + encodeURIComponent(user.name));
if (json.status == 200)
{
var obj = eval('(' + json + ')');
if (obj)
{
userIsMember = true;
userIsSiteManager = obj.role == "SiteManager";
}
}
siteData = {};
siteData.profile = profile;
siteData.userIsSiteManager = userIsSiteManager;
siteData.userIsMember = userIsMember;
// Store this in the model to allow for repeat calls to the function (and therefore
// prevent multiple REST calls to the Repository)...
// It also needs to be set in the model as the "userIsSiteManager" is required by the template...
model.siteData = siteData;
在freemarker的所以用這個在if語句
您好,塔希爾,您能否給我們更清楚的解決方案。其實我在露天有點新,所以對這樣的新事物瞭解不多。你能否提供一些簡單適當的步驟來做到這一點。這對我來說非常有用 –
嗨,我會發布更新。如果你是首發,那麼你需要更多的時間,而不是爲你做所有的工作;)。因此,直到你熟悉這個實現之前,做一些關於小定製的研究工作。 –