内容开发者训练营

长度 3 天
培训形式 私有培训
Liferay版本 7.1

了解用户需求

了解如何为用户提供正确的内容并控制对重要资源的访问。

简化您的内容策略

通过了解结构、模板和页面片段,更轻松地管理内容。

开发者自信发布

从平滑的审核流程到预发布内容,了解如何有效地进行发布。

您将学习到

  • 为您的用户呈现合适的内容

    • 使用Liferay DXP工作

      • 为您的用户创建数字化体验
      • 获得详细的内容:把您所学的内容应用到真实用例中。
    • 控制用户对您内容的访问权限

      • 为单个资源定义权限
      • 用角色反映现实生活中的工作职责
    • 用户管理

      • 了解用户组如何帮助您管理内容
      • 用户组织差异与策略
  • 吸引您的用户

    • 通过内容吸引用户

      • 使用新7.1功能如内嵌编辑和现代化站点构建功能更易于修改
      • 快速创建和管理内容满足您不断变化的业务需求
    • 数字化资产管理

      • 易于储存、组织、搜索和分发内容
      • 帮助您的用户快速找到他们所需的内容
      • 确保仅将最新的、已批准的内容向外分发
    • 创建和修改内容

      • 为您公司的网站创建内容
      • 通过架构和模板使用一致性设计
      • 如同编辑内容一样编辑页面
    • 自助服务解决方案

      • 使用模板生成登录页面和整个站点
      • 通过自动化、动态内容简化发布流程
  • 与您的用户进行交互

    • 发布相关博客内容赢得客户

      • 建立信任并在您的行业中树立权威形象
      • 通过一致性、高质量的内容提高品牌意识
    • 全球化

      • 创建特定于区域的内容获得高效转换率
      • 在各区域设立办事处瞄准当地市场
    • 查找合适的内容

      • 轻松根据您的需要进行搜索
      • 推进相关结果的新应用程序
      • 使用搜索分面对搜索结果进行微调
    • 收集用户反馈

      • 通过表单了解您的客户和员工偏好
      • 分析表单数据以做出更好的决策
  • 管理业务流程

    • 设置检查流程

      • 使用工作流实现业务检查流程
      • 使用对您而言重要的更新
    • 在线发布内容

      • 使用待发布,在发布之前对您的内容进行预览
      • 同时准备、管理和运行多个活动
    • 完整的数字化体验

      • 功能概览:
        Analytics Cloud
        Commerce
        移动端
处理模板时发生错误。
Java method "com.sun.proxy.$Proxy624.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy624 object "[email protected]194dcfb6"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign article = journal_article_loc...  [in template "ARTICLE_UTILITIES" in macro "runtime_embed_journal_article_by_article_id" at line 117, column 9]
	- Reached through: @article_utilities.runtime_embed_jour...  [in template "10155#10195#LEGO" at line 39, column 96]
----
1<#import "${templatesPath}/article_utilities" as article_utilities> 
2 
3<div class="lego-article ${article_class.getData()}" id="article-${.vars['reserved-article-id'].getData()}"> 
4	<#list section.siblings as cur_section> 
5		<section class="block-container lego-section section-${cur_section_index + 1} ${cur_section.section_class.getData()}" ${cur_section.getData()}> 
6			<#list cur_section.block.siblings as cur_block> 
7				<div class="block block-${cur_block_index + 1} content-column lego-block w${cur_block.width.getData()} ${cur_block.block_class.getData()}" ${cur_block.getData()}> 
8					<#list cur_block.element.siblings as cur_element> 
9						<#assign cur_element_tag = cur_element.tag.getData()> 
10 
11						<#if !cur_element_tag?has_content> 
12							<#assign cur_element_tag = "div"> 
13						</#if> 
14 
15						<#assign cur_element_css_class = "lego-element " + cur_element.element_class.getData() /> 
16						<#assign button_attrs = cur_element.getData() /> 
17 
18						<#if article_utilities.has_update_permissions()> 
19							<#assign cur_element_css_class = cur_element_css_class + " live-edit" /> 
20							<#assign button_attrs = button_attrs + " 
21								data-article-id='${.vars[\"reserved-article-id\"].getData()}' 
22								data-level-path='${cur_section.name}::${cur_section_index},${cur_block.name}::${cur_block_index},${cur_element.name}::${cur_element_index},${cur_element.content.name}::0' 
23							" /> 
24						</#if> 
25 
26						<${cur_element_tag} class="${cur_element_css_class}" ${button_attrs}> 
27							${cur_element.content.getData()} 
28						</${cur_element_tag}> 
29					</#list> 
30 
31					<#if cur_block.article_url_title?has_content> 
32						<#list cur_block.article_url_title.siblings as article_url_title> 
33							<#if article_url_title.getData()?has_content> <@article_utilities.runtime_embed_journal_article_by_url_title article_url_title.getData() /> </#if> 
34						</#list> 
35					</#if> 
36 
37					<#if cur_block.article_id?has_content> 
38						<#list cur_block.article_id.siblings as article_id> 
39							<#if article_id.getData()?has_content> <@article_utilities.runtime_embed_journal_article_by_article_id article_id.getData() /> </#if> 
40						</#list> 
41					</#if> 
42				</div> 
43			</#list> 
44		</section> 
45	</#list> 
46</div> 
47 
48<#if css.getData()?has_content> 
49	<style type="text/css"> 
50		${css.getData()} 
51	</style> 
52</#if> 
53 
54<#if javascript?? && javascript.getData()?has_content> 
55	<script> 
56		${javascript.getData()} 
57	</script> 
58</#if> 

Didn’t find what you were looking for?

Contact us, and we'll work to find a training that meets your needs.