标签: liferay-theme

liferay-ui中的动态列:搜索容器?

我已经尝试过liferay-ui:search-container以表格/网格格式在UI上获取和显示数据库表记录.通过使用liferay-ui:search-container我得到如下所示的输出,

在此输入图像描述

我在上面的屏幕截图中获取USER_表记录.

问题:

我想让网格列动态化,我希望为最终用户启用一个选项,以删除不需要的列并在相应的网格/表中添加所需的列.

EX:

在上面的屏幕截图中,以下列显示在网格中.

First Name, Last Name, Screen Name, Job Title, Organization, User Groups
Run Code Online (Sandbox Code Playgroud)

现在,如果用户想删除Job Title并希望Greetings and Mail Address在UI上添加列,而不需要触摸/修改代码.

我该如何实现此功能?

注意:

我需要为自定义模型实现此功能.

查询:

1)是否有任何API /方法来实现/启用此功能?

2)如果不能,我该如何实施这些步骤?有任何建议或步骤来完成这项任务吗?

hook liferay liferay-6 liferay-theme liferay-aui

14
推荐指数
1
解决办法
662
查看次数

在Liferay Theme中包含jQuery和其他JS文件

我使用Liferay 6.1,我创建了我的主题(sample-theme),我想要添加jQuery.我怎样才能做到这一点?

为什么我有文件夹:sample-theme并且liferay-work都有文件夹:css,js,templates?

我创建了文件夹_diffs和子文件夹,js然后复制jQuery并添加portal_normal.vm:

<script src="/html/js/jquery/jquery-1.8.2.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

我没有看到任何变化,为什么?我怎样才能添加jQuery?不仅是单个portlet,而且是所有人.


我没有文件夹docroot我使用Maven并且在src/main/webapp中我创建了文件夹_diffs和文件夹js,在那里我添加了jquery.js并在_diffs中创建了模板文件夹并粘贴:

<script src="$javascript_folder/jquery-1.8.2.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

但仍然是错的.也许文件夹_diffs应该在另一个地方?什么应该是maven项目的结构?

jquery liferay liferay-6 liferay-theme

9
推荐指数
2
解决办法
1万
查看次数

将AngularJS与Liferay一起使用

我会将全局AngularJS与Liferay Portal一起使用.因为,就像AngularJS的设计一样:

为何选择AngularJS?HTML非常适合声明静态文档,但是当我们尝试使用它来声明Web应用程序中的动态视图时,它就会动摇.AngularJS允许您为应用程序扩展HTML词汇表.由此产生的环境非常具有表现力,可读性和快速开发.

我会通过开发Liferay-Theme和Portlets来简单地使用html的声明性语法.

为了这个要求,我创建了新的Liferay-Theme并定制了一点portal_normal.vm:

<!DOCTYPE html>

<#include init />

<html ... ng-app="liferay">
<head>
        ...
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script>
    <script type="text/javascript" src="${javascript_folder}/my.js" charset="utf-8"></script>
</head>
<body class="${css_class}">
    <div ng-controller="LiferayCtrl">
Run Code Online (Sandbox Code Playgroud)

这里my.js:

angular.module('liferay', [])

.controller('LiferayCtrl', function($scope) {
    console.log("---==== Init AngularJS ====---");
    $scope.Liferay = Liferay;
});
Run Code Online (Sandbox Code Playgroud)

我可以扩展控制器,就像获取Liferay-Site名称一样.

这有什么帮助的?

因此,我可以通过声明式html语法简单地访问Liferay JavaScript值和函数,而无需像AngularJS那样直接调用JavaScript函数.

例如,现在可以通过声明性html代码获取Liferay JavaScript的值和函数,就像这里一样,用于获取Web内容显示中的当前URL:

Liferay current URL: {{Liferay.currentURL}}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,我的问题是:

  • 在Liferay中使用AngularJS global会发生哪些副作用?
  • 可能会出现性能问题吗?
  • 与其他JavaSripts冲突,例如Alloy?
  • 在Portlet中使用AngularJS?

javascript liferay liferay-theme angularjs

7
推荐指数
1
解决办法
8749
查看次数

删除Liferay主题中的本地化

我正在使用Liferay 6.1,并且已经在其中开发了主题。我的问题是,当我加载主题时,头部包含巨大的链接,如下所示:

<link rel="alternate" hreflang="ar-SA" href="http://localhost/ar">
<link rel="alternate" hreflang="eu-ES" href="http://localhost/eu">
<link rel="alternate" hreflang="bg-BG" href="http://localhost/bg">
<link rel="alternate" hreflang="ca-AD" href="http://localhost/ca">
<link rel="alternate" hreflang="ca-ES" href="http://localhost/ca_ES">
<link rel="alternate" hreflang="zh-CN" href="http://localhost/zh">
<link rel="alternate" hreflang="zh-TW" href="http://localhost/zh_TW">
<link rel="alternate" hreflang="hr-HR" href="http://localhost/hr">
<link rel="alternate" hreflang="cs-CZ" href="http://localhost/cs">
<link rel="alternate" hreflang="da-DK" href="http://localhost/da">
<link rel="alternate" hreflang="nl-NL" href="http://localhost/nl">
<link rel="alternate" hreflang="nl-BE" href="http://localhost/nl_BE">
<link rel="alternate" hreflang="en-GB" href="http://localhost/en_GB">
<link rel="alternate" hreflang="et-EE" href="http://localhost/et">
<link rel="alternate" hreflang="fi-FI" href="http://localhost/fi">
<link rel="alternate" hreflang="fr-FR" href="http://localhost/fr">
<link rel="alternate" hreflang="gl-ES" href="http://localhost/gl">
<link rel="alternate" hreflang="de-DE" href="http://localhost/de">
<link rel="alternate" hreflang="el-GR" href="http://localhost/el">
<link rel="alternate" …
Run Code Online (Sandbox Code Playgroud)

localization liferay-6 liferay-theme

5
推荐指数
1
解决办法
1862
查看次数

SASS和Liferay - 如何在自定义主题中使用?

我真的没有在liferay的博客和谷歌上找到答案 - 所以我希望这里有人可以帮助我.

我正在尝试使用我在Liferay 6.2中构建的自定义主题开始使用sass.

据我了解,方法是这样的:

  1. 创建一个空主题(使用maven),基于_styled
  2. 这给了我一个像这样的文件布局:

    <theme>
      +-src
         +-main
            +-webapp
               +-css
                  +- ... here i'll put any css overwrites
    
    Run Code Online (Sandbox Code Playgroud)
  3. 开发sass样式表,链接到 main.css

    <theme>
      +-src
         +-main
            +-webapp
               +-css
                  +-main.css
                  +-custom.scss
    
    Run Code Online (Sandbox Code Playgroud)

main.css最初看起来像这样:

@import url(custom.css);

/* other css import here */
Run Code Online (Sandbox Code Playgroud)

custom.scss将包含一些SASS内容:

$color: #f00;
body {
    color: $color;
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:如何正确地将CSS和SASS链接在一起?如何定义main.css中的@import语句?

我试过@import url(custom.scss);但这不会给我想要的结果.同样,@import url(custom.css);也不会这样做.

themes sass liferay liferay-theme

5
推荐指数
1
解决办法
5566
查看次数

如何在aui:select框中设置所选值

我的用户表单中有选择框的表单.我还需要在编辑模式下更新表单.我能够在编辑模式下获得选定的值.但我无法在编辑模式下设置所选值.

在这里,我可以从db中获取所选值.<%=user.getTitle() %>现在我如何在选择框中设置所选值.

<aui:select name="title">
    <aui:option label="Dr" value="dr" />
    <aui:option label="Mr" value="mr" />
    <aui:option label="Mrs" value="mrs" />
    <aui:option label="Ms" value="ms" />
</aui:select>
Run Code Online (Sandbox Code Playgroud)

示例I为此输入字段设置所选值,

<aui:input name="emailAddress" value=""></aui:input>
Run Code Online (Sandbox Code Playgroud)

有什么建议请!!

liferay liferay-6 liferay-theme alloy-ui liferay-aui

5
推荐指数
2
解决办法
1万
查看次数

在Liferay 6.2中使用Bootstrap 3.3.6

我正在使用Liferay 6.2中的Bootstrap 3。我在CSS和JS中插入了bootstrap.css和bootstrap.min.js。我也更改了我的custom.css中的某些样式

您对它有更好的主意吗?

然后,我附加了将Bootstrap 3插入Liferay 6.2的步骤。上面的内容为我提供了一些兼容性问题...我想征询您的意见,例如是否有更适合于这些工具和这些版本的代码。我需要您的帮助来改善这一点,并且每个人都可以使用Liferay 6.2中的Bootstrap 3。这是我的两分钱。

脚步:

1-将Bootstrap CSS,JS和字体放在主题内的_diffs目录文件夹中

2-我们打开或创建main.css文件,并调用文件Bootstrap.css

3-在portal_normal.vm上,以上述方案中显示的名称添加对JavaScript的两个调用。

4-我们将与2.3.2版本默认的Liferay版本冲突的custom.css CSS类插入

-custom.css-

.signed-in .collapse {  display:block;  } 
.lfr-edit-layout-panel .collapse{  display:block; } 
.dockbar.navbar-static-top .collapse {      display: block;  } 
.navbar-inner .collapse{     display:block;   } 
.dockbar-ready section#content {    padding: 0 0 0 0;  }
 
.dockbar.navbar-static-top {
  background-color: transparent;
  padding: 0px;
}
.dockbar-messages{  display:none; }
 
.lfr-device-preview{  z-index: 1000;  }
 
.modal{   display:block; }
 
.modal-hidden{ display:none; }
Run Code Online (Sandbox Code Playgroud)

liferay-theme twitter-bootstrap twitter-bootstrap-3 liferay-6.2

5
推荐指数
1
解决办法
1429
查看次数

我可以在WAR文件中打包多个Liferay portlet和主题吗?

我可以使用Liferay插件SDK轻松创建Liferay portlet和主题.我已经设法将多个portlet组合成一个WAR文件,这对于在客户端站点部署非常方便.

我还为Liferay安装创建了多个主题,我想知道是否可以将所有portlet(5)和主题(2)(可能是钩子等)组合到一个WAR文件中?

java portlet liferay liferay-6 liferay-theme

3
推荐指数
1
解决办法
926
查看次数

在liferay主题(速度模板)中使用自定义服务或liferay服务?

如何使用自定义的服务方法,Liferay的主题,在速度文件一样init_custom.vm,portal_normal.vm等等.

我看到liferay在文件中提供了许多辅助实用程序类的变量,例如$portalUtilfor PortalUtil,$getterUtilfor GetterUtil等等init.vm.

那么有可能获得我的自定义服务的实例,com.my.custom.service.MyCustomLocalServiceImpl如liferay 的实例或服务UserLocalServiceImpl吗?

这是一些伪代码,用于了解我需要的内容:

// this code calls method from MyCustomLocalServiceImpl class to fetch items
#set ($listOfItems = $myCustomLocalServiceUtil.getAllItems())

// this code calls method from UserLocalServiceImpl class to fetch users
#set ($listOfUsers = $userLocalServiceUtil.getUsers(0, 99))
Run Code Online (Sandbox Code Playgroud)

环境:Liferay 6.1 CE GA1

service liferay liferay-theme liferay-velocity

3
推荐指数
1
解决办法
4019
查看次数

如何知道Liferay主题中的页面是私有的还是公共的?

正如tittle所说......如何知道页面是私有的还是公共的?我需要在自定义主题的速度文件中实现一些逻辑,仅用于私有页面.

我发现这个页面从Velocity访问对象,它似乎非常有用,但我需要一些API的帮助,因为我不知道哪个实用程序类有一个方法,我正在寻找.

我想在一个解决方法使我的条件成为主题属性,但我不想依赖于管理员用户

谢谢

velocity liferay liferay-6 liferay-theme

3
推荐指数
1
解决办法
1618
查看次数