分类: Sitecore

如何调试Sitecore Form ,尝试解决form 不能提交的问题 | How to debug sitecore form,try to resolve can't submit form issue.

背景

使用sitecore 10.1 作项目,因为有表单相关,所以就默认使用sitecore forms, 并安装了Sitecore Forms Extensions 这个插件
但是在使用过程遇到了一个问题,form不能成功提交数据,from做的是2个页面,提交成功后自动显示第二页的thank you信息,
(在Sitecore Experience Model下面却可以正常提交表单,并显示第二页Thank you信息。)
还有一点,在之前一个sitecore 9.3 sxa 的项目中同样的sitecore forms + sitecore forms extensions却可以正常提交

最初form提交总是会刷新页面,后来发现在是因为页面没有加载sitecore form 的一些js,在layout上引用如下即可:

@using Sitecore.ExperienceForms.Mvc.Html
@Html.RenderFormStyles()
@Html.RenderFormScripts()

https://doc.sitecore.com/developers/90/sitecore-experience-manager/en/add-a-form-to-a-webpage.html

继续阅读

Sitecore 9.3 SXA lowercaseUrls is not working

Reference

https://doc.sitecore.com/developers/93/sitecore-experience-manager/en/build-item-and-media-urls.html
https://www.pintle.dk/insights/link-generation-in-sitecore-9-3/

Starting from Sitecore 9.3 there are changes to link generation functionality as well as enhancements to URL builder options configuration capabilities

The follow config comes from sitecore showconfig

<!--  URL BUILDERS  -->
<!--  URL BUILDERS  -->
<links>
    <urlBuilder>
        <alwaysIncludeServerUrl>false</alwaysIncludeServerUrl>
        <languageEmbedding>asNeeded</languageEmbedding>
        <languageLocation>filePath</languageLocation>
        <lowercaseUrls>true</lowercaseUrls>
        <encodeNames>true</encodeNames>
        <useDisplayName>false</useDisplayName>
    </urlBuilder>
    ...
</links>

继续阅读

Sitecore custom language prefix in the requested URL 2[Sitecore自定义URL中的语言前缀 2]

Sitecore自定义语言前缀 方式二[更简单][推荐]

引用

https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/repost-overriding-sitecore-39-s-logic-to-determine-the-context-language
https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/prevent-the-sitecore-asp-net-cms-from-interpreting-url-path-prefixes-as-language-names

今天我们主要说明一下, 如果自定义URL中的语言前缀, Sitecore 默认语言前缀: en, zh-CN, zh-TW, it-IT...
以简体中文为例: Sitecore默认URL路径中都会包含zh-CN, http://www.xxx.com/zh-CN/about

目标

zh-CN替换为cn, 访问http://www.xxx.com/cn/about 能够正常显示简体中文页面.

分析

上篇博客中我们已经实现了此功能, 但是有点复杂, 后来我又做了些尝试,找到了更新简单的方法.
不需要重写LanguageResolverItemResolver, 只需要重写StripLanguage就可以了, LinkProvider保持不变
我们知道了StripLanguage pipeline, 它会自动识语言前缀删除并重定向, 我们要做的就是识别自定义语言前缀, 并把它转换为相应的语言,然后再重定向.
实现上面的目标, 要自定义2个pipeline.

  • 重写Sitecore.Pipelines.PreprocessRequest.StripLanguagepipeline, 识别自定义语言前缀, 并把它转换为相应的语言,然后再重定向.
  • 重写Sitecore.Pipelines.HttpRequest.LanguageResolver pipeline. 把客户端请求URL中的cn转换为zh-CN语言.

继续阅读

Sitecore custom language prefix in the requested URL 1 [Sitecore自定义URL中的语言前缀 1]

Sitecore自定义语言前缀 方法一

已经实现了更简单的方式二, [推荐]

引用

https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/repost-overriding-sitecore-39-s-logic-to-determine-the-context-language
https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/prevent-the-sitecore-asp-net-cms-from-interpreting-url-path-prefixes-as-language-names

摘要

Sitecore 支持多语言, 确定上下文语言的默认逻辑是使用以下面的变量:

  • sc_lang查询字符串参数
  • 请求的URL中路径中的语言前缀
  • 与上下文站点关联的语言cookie
  • 与上下文逻辑站点关联的默认语言
  • web.config 中指定的DefaultLanguage设置

今天我们主要说明一下, 如果自定义URL中的语言前缀, Sitecore 默认语言前缀: en, zh-CN, zh-TW, it-IT...
以简体中文为例: Sitecore默认URL路径中都会包含zh-CN, http://www.xxx.com/zh-CN/about

继续阅读

使用 Sitecore Install Framework 安装 Sitecore 9

介绍

本文主要介绍在使用Sitecore Install Framework 安装 Sitecore 9 过程中遇到的问题及解决方法,

公司最近要做一个新的 sitecore 项目,可能需要使用最新的 Sitecore 9, 所以需要我先熟悉一下,在网上看看,

Sitecore 9 的安装方式和以前不一样了,以前的版本都是一个EXE文件,直接运行安装就可以了,

但 Sitecore 9 需要使用 Powershell 脚本安装. 不过有人写了一个SIF-less工具帮助安装人员快速检测环境是否准备完成。

安装文件

  • Sitecore 官方下载,默认你已经下载了Sitecore安装包及License文件.

    在这里使用xp0安装包(Packages for XP Single [XP0] Instance configuration).
  • SIF-less 下载
  • Solr 下载
  • NESS 下载

本机安装环境

  • IIS 8.5
  • Windows 8.1 x64
  • .NET Framework 4.6.2
  • Microsoft SQL Server 2014 SP2:This version only supports XM databases and does not support the Experience Database (xDB)

继续阅读

Viagle Blog

欢迎来到我的个人博客网站