我目前正在为SP13构建设计解决方案功能。它部署母版页,布局,CSS文件等。
我的问题是:实际上有没有办法实现自定义标准UI图标?例如:对于右上角的功能区或设置图标?
如果我可以通过代码(事件接收器)用自定义的(当然相同的尺寸)覆盖生成的themedpng,那将是完美的。答案 0 :(得分:0)
这有两种方法,但没有一种方法是完美的解决方案。
1-备份“C:\ Program Files \ Common Files \ microsoft shared \ Web Server Extensions \ 15 \ TEMPLATE \ IMAGES \ spcommon.png”并将其替换为您自己的文件。
不建议这样做,因为您不应该触摸SharePoint文件。 安装SharePoint更新时可能会覆盖它。 但这是一个简单的解决方案,有时在现实世界中使用。
2-一旦页面加载,您可以使用jquery(或javascript)替换所有对“/_layouts/15/images/spcommon.png”的引用。您可以在自己的网站上部署图片。
问题是开箱即用的图像将首先显示,然后由您的图像替换。因此,旧图像将显示的时间非常短。
答案 1 :(得分:0)
主页中包含的这个脚本为我做了这个:
var CustomIcons = function () {
var site_url;
if (_spPageContextInfo.siteServerRelativeUrl === "/") {
site_url = "";
} else {
site_url = _spPageContextInfo.siteServerRelativeUrl;
}
var commom_img_url = site_url + '/_layouts/15/images/spcommon-custom.png';
var commom_img_url2 = site_url + '/_layouts/15/images/spcommon-custom2.png';
var help_img_url = site_url + '/_layouts/15/images/help.png';
var settings_img_url = site_url + '/_layouts/15/images/settings.png';
$('#siteactiontd').find('img:first').attr('src', settings_img_url);
$('#ms-help').find('img:first').attr('src', help_img_url);
$('#ctl00_SyncPromotedAction').find('img:first').attr('src', commom_img_url);
$('#ctl00_fullscreenmodeBtn').find('img:first').attr('src', commom_img_url);
$('a[_action="edit"]').find('img:first').attr('src', commom_img_url);
$('a[_action="save"]').find('img:first').attr('src', commom_img_url2);
}