Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Liferay 如何以编程方式找到站点的站点徽标_Liferay_Liferay 6_Graphical Logo - Fatal编程技术网

Liferay 如何以编程方式找到站点的站点徽标

Liferay 如何以编程方式找到站点的站点徽标,liferay,liferay-6,graphical-logo,Liferay,Liferay 6,Graphical Logo,使用portal\u normal.vm中的代码从主题中显示站点徽标: <img alt="$logo_description" height="$site_logo_height" src="$site_logo" width="$site_logo_width" /> 我想知道自定义插件portlet中变量$site\u logo的值 我显示在一个列表中的所有网站,并希望显示公共和私人网页除了网站名称不同的标志 任何指示都会有帮助 感谢基本上,liferay显示主题显示对象

使用
portal\u normal.vm
中的代码从主题中显示站点徽标:

<img alt="$logo_description" height="$site_logo_height" src="$site_logo" width="$site_logo_width" />

我想知道自定义插件portlet中变量
$site\u logo
的值

我显示在一个列表中的所有网站,并希望显示公共和私人网页除了网站名称不同的标志

任何指示都会有帮助


感谢

基本上,liferay显示主题显示对象的图像徽标

我试着查看
主题显示
对象的准备位置,我发现下面的内容对您很有帮助

使用下面的代码,您可以获得任何站点的公共或私有页面的
logourl
,您可以将其设置为html图像标记

LayoutSet siblingLayoutSet=LayoutSetLocalServiceUtil.getLayoutSet(
groupId,isPrivatePages);
if(siblingLayoutSet.isLogo()){
logoId=siblingLayoutSet.getLogoId();
}
捆扎机sb=新捆扎机(5);
字符串imagePath=PortalUtil.getPathImage();
sb.append(imagePath);
sb.追加(“/layout\u set\u logo?img\u id=”);
sb.append(logoId);
某人附加(“&t=”);
sb.append(WebServerServletTokenUtil.getToken(logoId));
layoutSetLogo=sb.toString();

有一种更简单的方法:

String logoPath = PortalUtil.getPortalURL(themeDisplay) + themeDisplay.getLayoutSetLogo();

我正在使用Liferay 7.3.1。如果要在主题中使用上载的徽标(公共页面->徽标),请执行以下操作:

模板/init_custom.ftl
中(如果您没有此文件,请创建它)

我提供了这个答案,因为有些人可能会觉得有用

<#assign logo_img_path = themeDisplay.getLayoutSetLogo()/>
<img
    src="${logo_img_path}"
    alt="My logo"
    title="My site"
/>