Ich könnte hier ein wenig überarbeitet sein, aber jeder Einblick, wie man diese Arbeit machen würde geschätzt.Etwas wie "wählen" von "wo" mit Lenker.js
Verwenden von handlebars.js als Template-Engine Ich brauche eine json
Datei abzufragen und von hier durch eine Schleife Array innerhalb eines Objekt in der Datei. Die Strömung wird bestimmt, wie zu arbeiten: Wenn ein Wert über data-attribute
auf auf Definieren einstimmt eine Zeichenfolge innerhalb einesObjektarray dann die Schleife und zeigen Daten auf der Grundlage dieser Bedingungen.
Im Grunde brauche ich eine Abfrage es, wie ich auf eine Datenbank Back-End würde, (mit Laravel) z:
$attr = "Red";
$prodcuts = DB::table('products')->Where('tags', $tag)->get();
ich aus einer sehr großen json
Datei zu diesem arbeite. Zum Beispiel zuliebe habe ich ein viel kleineren, wenn Sie es Referenz willen braucht:
https://gist.github.com/Panoply/15dc30a9fc598d07b24f0f13a5d42df4
Ich bin mir bewusst, dass mit handlebars.js Ich brauche einen Helfer zu schaffen, um einen String mit einem Wert zu machen:
Handlebars.registerHelper("ifValue", function(conditional, options) {
if (conditional !== options.hash.equals) {
return options.fn(this);
} else {
return options.inverse(this);
}
});
Dann würde ich meinen Lenker Schleife hat:
<ul>
{{#each products}}
{{#ifvalue tags equals='Blue'}}
<li>{{title}}</li>
<li>{{handle}}</li>
<li>{{tags}}</li>
{{#with images.[0]}}<li>{{src}}</li>{{/with}}
{{#with variants.[0]}}<li>{{price}}</li>{{/with}}
{{/ifvalue}}
{{/each}}
</ul>
Ausgabe ist ich ein leeres Ergebnis. Sie können versuchen, diese Code-Block bei http://tryhandlebarsjs.com/ - Angesichts der Tatsache, dass die Tags in einer object array
sind, könnte ich einige Konflikte haben.
Alle Ideen, wieder sehr geschätzt.
ifValue Groß- und Kleinschreibung? Versuchen Sie auch, Inhalte in Ihrem {{else}} hinzuzufügen, um Ihre bedingte/inverse –