問題タブ [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 に答える
1976 参照

c# - DotLiquid-辞書パラメータとして

次のテンプレートがあるとします。

こんにちは{{名前}}!{{ ブログ }} へようこそ。最終ログイン日: {{ date }}。

ユーザーはテンプレートとプレースホルダー/変数の両方を入力できるため、プレースホルダーがどのようになるかを知る方法はありません。

私は次のようなものを作成することを考えていました:

Dictionary を受け入れる FromDictionary というメソッドがありますが、その仕組みがよくわかりません。他の代替手段は FromAnonymousObject ですが、目的に合わせて Dictionary を匿名オブジェクトに変換する方法がわかりません。

どんなアイデアでも大歓迎です!

0 投票する
1 に答える
1192 参照

dotliquid - DotLiquid テンプレートからメソッドを呼び出すことはできますか?

明らかに、プロパティを呼び出すことはできますが、メソッドを呼び出しても、Drop から拡張されたクラスであっても何もしません。

XmlDocumentDrop クラスでこのようなことをしようとしています。

次に、DotLiquid テンプレートで。

これは何も返しません。

「CatchAll」メソッドを使用しようとしましたが、XPath を渡そうとしていますが、単語以外のすべての文字が取り除かれているようです。だから、これをやろうとしている:

"firstName" を BeforeMethod に送信するだけです。

XPath を使用してテンプレートからデータにアクセスし、XML ドキュメントをテンプレート化しようとしています。必要なすべての XPath のプロパティを作成する以外に (理想的ではありません。ユーザーが開発者を関与させずに XML ドキュメントをテンプレート化できるようにするためです)、どのようなオプションがありますか?

フィルターを実行できるので、次のようにします。

しかし、フィルタは文字列のみを受け取ります。つまり、生の XML を文字列として渡し、呼び出されるたびにこの XML を再解析することになりますが、これはあまり良くありません。

オプション?

編集:

カスタム タグも試してみましたが、結局、XML を文字列として渡し、毎回すべての XML を再解析しています。私が本当に必要としているのは、テンプレート内の XML ドキュメントへの参照と、XPath の文字列を渡す単一のメソッドを呼び出す機能です。

0 投票する
2 に答える
842 参照

asp.net-mvc - Angularjs Light version

I use angular in many projects, specially in ASP.NET MVC, but i dont like angular-

  • router (also ui-router, this is not much problem indeed as it's just a plugin) - concept of web-apps kills all ASP.NET features
  • services and factories - as all of this can be done inside common controller. (This might sound tricky)
  • constants and values - as i dont think this is really needed if you use requirejs or other AMD

What i love in angular is just directives, and when i make big nested directive, i use same controller foreach, so there is no $scope interacting (less watchers)

So the link function is used veeery rare. And specially i like that angular easily detects directive - which is great as you just write 1 tag <grid> instead of reactjs components (This also might sound tricky). In my projects i use DotLiquid for razor views (it's stored in database as string) Sample:

So dotLiquid just renders this string w/o problem, or even applies other bingings beside angularjs. And this is great as all stuff is self contained. Which cannot be achieved by reactjs - you need to bootstrap components by yourself

resume

Currently it's heavy, about 100kb, but without all this unnecessary stuff it would be really light. I would like to use only directive and controller services, Also with server-side rendering angular gonna bootstrap itself on each request which is not wise, but with lighter version it's a bit tradeoff. Has anybody tried to strip angular services succesfully? Or is there any consideration, any ideas?

edit

Angular-light looks promising, but:

  • it doesn't provide HTML tag detection, only attributes
  • really ugly, alight.directives.al.getValue this looks so bad only for me or someone else?

edit2

Ok, that 100kb might not play alot. But consider it as workout, as you might know, angular start only once, at page load, so it must build the app, pull all modules, configure each, then all services of module, then inject them where they are needed, then supply callbacks from factories and services to any who injects them, at least it gonna check if any exists (on each module), all of this happens at start, only once! By wiping up size, we also can minimize javascript execution(indeed it will), factory and service watchers, so we won't need any parts that aren't used. We can even get rid of controllers (and use them inline), only 1 service. angular.directive (which is best part of party). Have looked at mustache, handlebars, but they are just like reactjs.

0 投票する
2 に答える
86 参照

c# - メール内のタブは、異なるメール ブラウザーで同じではありません

使用/構築しているasp.net(c#)アプリケーションでは、単語間にスペースを空けてメールを送信していますが、本文にタブを使用していますが、他のメールブラウザに移動したときに同じように動作しているようには見えません。

Outlook 14.0 および 15.0 でも、Gmail と Outlook で同じように動作させる方法はありますか?

名前:{{ Customer.Surname}}

メール: {{ Customer.Email}}

0 投票する
1 に答える
570 参照

c# - dotLiquid: モジュロ計算が期待どおりに機能しない

だから私は自分のプロジェクトでdotLiquid (1.8.0) を使用して、 EO.pdf経由で PDF を作成するために使用されるいくつかの HTML テンプレートを作成しています。

したがって、基本的に、Days (== Dates) の配列の指定された日付が 1 週間であるかどうかを確認し、各週の後に改ページを追加したいと考えています。

私の問題をより明確にするために、最初に関連するコードを次に示します。

plan.DateTypeChoice週の日数 (5 日または 7 日) を含む整数値です。それは私のドロップモデルで次のように定義されています

現在、私のテスト シナリオでは、デバッグ ステートメント (IndexおよびDateTypeChoice) は期待どおりの値を示していますが、実際には代わりにendofweekたとえば (以下を参照) が含まれており、その理由がわかりません。50

出力例は次のとおりです。

また、次のように、割り当てに括弧を付けようとしました

しかし、その後、エラーがスローされます (値を NULL にすることはできません)。

誰かがここで私を助けてくれることを願っています。おそらく私はモジュロを間違って使用していますか?ご存知のように、forloop.index は数値であり、モデルからテンプレートに与えられた数値もパーサーによって数値として扱われるため、アイデアがありません。

編集:

このスレッドに基づいて、割り当てではなくキャプチャーで試しましたが、同じ結果になりました。コード:

ここで助けていただければ幸いです:-)

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 に答える
531 参照

image - Shopify (Liquid マークアップ) のナビゲーション リンクの下のメイン ページにフル ページ画像を追加する方法は?

皆さん、私はリキッド マークアップ言語を初めて使用します。私は e コマースの shopify Web サイトを作成しており、ページの上半分 (ナビゲーション リンクのすぐ下) にフル ページの画像を配置しています。

この画像を自分のウェブサイトのメイン ページにのみ掲載したいのですが、この問題について誰か助けてくれませんか?

実際のサイトへのリンクは次のとおりです: http://starpro-greens.myshopify.com/

そして、これがこの画像の私のコードです:

HTML ([レイアウト] タブの theme.liquid に配置):

CSS (Assets タブの theme.scss.liquid に配置):