问题标签 [dotliquid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
349 浏览

asp.net-mvc - 有没有人尝试用 Sitecore MVC 替换 View Engine?

我想知道是否有人有过用 Sitecore MVC 中的 DotLiquid 或 Spark 等另一种替换 Razor 视图引擎的经验?

我们正在研究这一点,以试图阻止从静态前端原型到动态 CMS 模板的浪费努力,这样我们就可以使用单一来源。对此的任何想法将不胜感激!

0 投票
1 回答
1976 浏览

c# - DotLiquid - Dictionary as parameter

Let's assume I have the following template:

Hi {{ name }}! Welcome back to {{ blog }}. Last log-in date: {{ date }}.

The user is allowed to enter both the template and the placeholders/variables, so I have no way of telling what will the placeholders be like.

I was thinking of creating something like this:

There is a method called FromDictionary that accepts a Dictionary and I don't really understand how it works. The other alternative is FromAnonymousObject, but I don't know how to convert the Dictionary to an anonymous object to fit the purpose.

Any ideas would be greatly appreciated!

0 投票
1 回答
1192 浏览

dotliquid - 是否可以从 DotLiquid 模板调用方法?

显然,您可以调用属性,但调用方法不会做任何事情,即使在从 Drop 扩展的类上也是如此。

我试图在我的 XmlDocumentDrop 类中做这样的事情。

然后在我的 DotLiquid 模板中。

这不返回任何内容。

我曾尝试使用“CatchAll”方法,但我试图通过 XPath,它似​​乎去除了所有非单词字符。因此,尝试这样做:

只需将“firstName”发送到 BeforeMethod。

我正在尝试模板化 XML 文档,使用 XPath 从模板访问数据。没有为我可能需要的每个 XPath 创建属性(不理想,因为这个想法是让用户在不需要开发人员的情况下模板化 XML 文档),我有什么选择?

我可以做一个过滤器,所以是这样的:

但是过滤器只接受一个字符串,这意味着我将原始 XML 作为字符串传递,然后在每次调用它时重新解析这个 XML,这不是很好。

选项?

编辑:

我也尝试了一个自定义标签,但最后,我仍然将 XML 作为字符串传递,并且每次都重新解析所有 XML。我真正需要的是在我的模板中引用 XML 文档,以及调用单个方法、传入 XPath 字符串的能力。

0 投票
3 回答
15197 浏览

c# - DotLiquid - 检查字符串“null 或 empty”

我在我的 ASP.NET 4.0 Webforms 应用程序中将 DotLiquid用于某些电子邮件模板,并且如果我绑定到模板为空或为空。

检查 NULL 效果很好:

但是,到目前为止,我尝试在此测试中包含字符串的任何内容都失败了:

如何检查“如果此字符串为空或空”?

0 投票
2 回答
842 浏览

asp.net-mvc - Angularjs 轻量版

我在很多项目中都使用 angular,特别是在 ASP.NET MVC 中,但我不喜欢 angular-

  • 路由器(也是 ui-router,这确实不是什么大问题,因为它只是一个插件) - Web 应用程序的概念会扼杀所有 ASP.NET 功能
  • 服务和工厂——因为所有这些都可以在通用控制器中完成。(这听起来可能很棘手)
  • 常量和值 - 因为如果您使用 requirejs 或其他 AMD,我认为这不是真正需要的

我在角度中喜欢的只是指令,当我制作大的嵌套指令时,我使用相同的控制器 foreach,所以没有$scope交互(更少的观察者)

所以链接功能很少使用。特别是我喜欢这个角度很容易检测指令 - 这很棒,因为你只需编写 1 个标签<grid>而不是 reactjs 组件(这听起来也很棘手)。在我的项目中,我将DotLiquid用于剃刀视图(它作为字符串存储在数据库中)示例:

所以 dotLiquid 只是渲染这个字符串而没有问题,或者甚至在 angularjs 之外应用其他 bingings。这很棒,因为所有东西都是独立的。这无法通过 reactjs 实现 - 您需要自己引导组件

恢复

目前它很重,大约 100kb,但如果没有所有这些不必要的东西,它会很轻。我想只使用directivecontroller服务,还有服务器端渲染角度会在每个请求上引导自己,这是不明智的,但使用更轻的版本有点权衡。有没有人试图成功地剥离角度服务?或者有什么考虑,有什么想法吗?

编辑

Angular-light看起来很有希望,但是:

  • 它不提供 HTML 标签检测,只提供属性
  • 真的很丑,alight.directives.al.getValue这只对我或其他人来说看起来很糟糕?

编辑2

好的,那 100kb 可能不会播放很多。但是将其视为锻炼,您可能知道,角度仅在页面加载时启动一次,因此它必须构建应用程序,拉取所有模块,配置每个模块,然后配置模块的所有服务,然后将它们注入需要的地方,然后提供从工厂和服务回调到任何注入它们的人,至少它会检查是否存在(在每个模块上),所有这些都在开始时发生,只发生一次!通过擦除大小,我们还可以最小化 javascript 执行(确实会)、工厂和服务观察者,因此我们不需要任何未使用的部分。我们甚至可以摆脱控制器(并内联使用它们),只需一项服务。angular.directive(这是聚会的最佳部分)。看过胡子,车把,但它们就像 reactjs。

0 投票
2 回答
86 浏览

c# - 电子邮件中的标签在不同的电子邮件浏览器中不相等

在我使用/构建的 asp.net (c#) 应用程序中,我正在发送一封电子邮件,其中单词之间有空格,你在正文中使用选项卡,但在转到其他电子邮件浏览器时,它们的行为似乎从未相同。

有没有办法让他们在 Gmail 和 Outlook 中甚至在 Outlook 14.0 和 15.0 中表现相同?

姓名:{{ Customer.Surname}}

电子邮件:{{ Customer.Email}}

0 投票
1 回答
570 浏览

c# - dotLiquid: modulo-calculation not working as expected

So I'm using dotLiquid (1.8.0) in my Project to create some HTML-Templates which are used to create PDFs via EO.pdf

So basically, I want to check if the given dates of an array of Days (== Dates) are in one week and add a page break after each week.

To make my problem more clear, here's the relevant code first:

plan.DateTypeChoiceis an integer-value containing the number of days of a week (5 or 7 days). It is defined in my Drop-Model as

Now in my test-scenario, the debug-statements (Index and DateTypeChoice) are showing the values I expect, but actually endofweek contains for example (see below) 5 instead of 0and I don't know why it is.

example output is:

I also tried to put brackets to the assignment, like

but then I get an error thrown (value can'T be NULL).

I hope someone could help me out here. Perhaps I am using modulo wrong? As I know, forloop.index is a numeric value and numeric values given to the template from the model are treated as numeric values by the parser, too, so I am out of ideas.

Edit:

Based on this thread, I tried it with capturing instead of assigning, but same result. Code:

Help is really appreciated here :-)

0 投票
2 回答
3017 浏览

shopify - Liquid中的逗号分隔列表

我在 for 循环中提取元数据值,需要在逗号分隔列表中显示它们。

代码(为可读性添加了空格):

目前这显示为:Field 01 ValueField 02 ValueField 03 Value,但我希望它显示为Field 01 Value, Field 02 Value, Field 03 Value

在每个 if 语句之后手动键入,会在最后一个值之后留下一个逗号。

0 投票
1 回答
629 浏览

blogs - 如何在shopify中将某个博客输出到页面

我正在为一个显然不知道编码的客户创建一个Shopify商店。他将需要更新网站上的内容(我已经编写了一些具有某些布局的页面(在内容的 html 部分中),所以当他输入他的内容时,它经常会破坏我们的设计)

作为替代解决方案,我正在考虑使用博客功能。我知道Shopify允许我们创建一个仅包含某个博客的页面,但它的作用是显示在 URL 中 - 作为...博客/鸡尾酒。

这对最终用户不利,因为我只希望它是一个从该博客调用博客文章的页面。我无法找到一种方法来做到这一点。

我尝试用 blog['cocktail'].content 等替换 blog.content ,但它没有做任何事情。

或者,您有什么建议可以设计一个页面并让客户只需键入即可添加他们自己的内容(例如它的食谱列表)?

0 投票
1 回答
531 浏览

image - 如何在 Shopify 的导航链接下的主页上添加整页图像(液体标记)?

大家,我是液体标记语言的新手。我正在创建一个电子商务 shopify 网站,并在页面的上半部分放置了一个完整的页面图像(在导航链接下方)它看起来很棒,但唯一的问题是当您单击另一个页面时,图像也固定在该页面上。

我只想在我网站的主页上看到这张图片,有人能帮我解决这个问题吗?

这是实际站点的链接: http: //starpro-greens.myshopify.com/

这是我的这张图片的代码:

HTML(放置在 Layouts 选项卡下的 theme.liquid 中):

CSS(放置在 Assets 选项卡下的 theme.scss.liquid 中):