タグ付けされた質問 「knockoutjs」

Magento2でのノックアウトの使用に関する質問を示します


2
ヘッダーミニカートでの製品SKUの取得
SKUMagento 2サイトのミニカートに商品を表示したい。しかしKnockoutJS、追加の製品情報を取得するために使用する方法がわかりません。呼び出されているテンプレートはここにあります: vendor / magento / module-checkout / view / frontend / web / template / minicart / item / default.html そして、次のようなコードが含まれています: <strong class="product-item-name"> <!-- ko if: product_has_url --> <a data-bind="attr: {href: product_url}, text: product_name"></a> <!-- /ko --> <!-- ko ifnot: product_has_url --> <!-- ko text: product_name --><!-- /ko --> …

4
Knockout HTMLテンプレートでスキン画像のパスを指定する方法は?
Magento_Paypal/web/template/payment/paypal-express.htmlテンプレートにアイコン画像を追加しようとしています。アイコンはにありweb/imagesます。次のコードと同等のものを使用したいと思います。これは、電子メールのHTMLテンプレートでは機能しますが、この特定のテンプレートでは機能しません。 <img src="{{view url='images/icon-paypal.png'}}"> 中括弧変数はこのHTMLテンプレートでは機能しないため、テーマのweb/imagesディレクトリに存在する画像をどのように参照しますか?

2
Magento 2カートに追加フロントエンドイベントリスナー
製品がカートに正常に追加されたときにカスタムJavaScriptを実行するための適切なソリューションを見つけようとしています。カート(に追加された製品についても、このカスタムJavaScriptの必要情報sku、qty、price、name、など) 現在、カートに追加された製品に関する情報を取得するには、次の方法を考え出します。 書き換え$.mage.catalogAddToCart.prototype.enableAddToCartButton(カタログまたは製品ビューページからカートに追加された製品の場合) 書き換え$.mage.dataPost.prototype.postData(ウィジェットからカートに追加された製品の場合) 私はパースのページに持って必要な情報を取得するには(FEは取得するqty)と出力の追加のinfromationページへ(FE取得しskuましたproduct id) しかし私の解決策: 2つのエントリポイントがあります かっこよくない バックエンドで検証が失敗した場合の状況を処理しません 必要なすべての情報を便利に提供しない 残念ながら、問題を解決するためのチェックアウトミニカートの適切な拡張ポイントを見つけることができませんでした。 どんな提案も大歓迎です!

2
Magento 2:チェックアウトステップの変更を検出する方法
Magento 2のチェックアウトにおけるステップの変化を検出する最良の方法を見つけようとしています。たとえば、配送の詳細から支払い、またはその逆の場合です。 私はいくつかの掘削を行い、でてきたvendor/magento/module-checkout/view/frontend/web/js/model/step-navigator.js私が使用することができnext()た火災ボタンを継続し、上のnavigateTo()どの火災直接checkoutstepをユーザーがクリックするとき-しかし、どちらの方法も、むしろハックようだが、ステップ変化を検出するためのクリーンな方法がなければならないに関係なく、どのようにそしてどのステップ。 私はstepChange()、チェックアウトステップの変更が発生するたびに起動する関数または同様のものを期待していました。 私の質問: チェックアウトステップの変更が発生したときにカスタムJSをトリガーする最良の方法は何ですか?

2
JS(Knockout.js)を介してロードされた、独自のテーマのテンプレートファイルのオーバーライド
Magento 2.0の公式フォーラムは役に立たないため、ここにも質問を投稿します。 現在、Magento Blankテーマに基づいて独自のテーマを構築しています。ヘッダーのミニカートドロップダウンに2つの小さな変更を実装したいと考えています。これらのファイルはJS(Knockout.jsフレームワーク)を介して読み込まれますが、同じフォルダー(Name/name2/web/template/minicart/item/default.html)内の独自のテーマにファイルを複製して編集するだけでは変更が表示されないため、この場合のオーバーライド動作は異なると考えられます。 誰かが私たちを正しい方向に向けることができますか?ありがとう!

1
Magento 2:UIコンポーネントで「elems」を生成するもの
リストUIコンポーネントの最上位のKnockoutJSテンプレートは次のようになります。 <!-- File: vendor/magento//module-ui/view/base/web/templates/collection.html --> <each args="data: elems, as: 'element'"> <render if="hasTemplate()"/> </each> これはMagentoによって次の生のKnockoutJSコードに変換されます。 <!-- ko foreach: {data: elems, as: 'element'} --> <!-- ko if: hasTemplate() --><!-- ko template: getTemplate() --><!-- /ko --><!-- /ko --> <!-- /ko --> どちらの場合も、このテンプレートはforeachビューモデルのelemsプロパティを上書きします。 RequireJSモジュールを見ると、(私は>)ビューモデルのコンストラクタクラスを返します vendor/magento/module-ui/view/base/web/js/lib/core/collection.js 私が見るinsertChild方法をに追加するように見えるelemsプロパティ。 私にはあまり明確ではありません。Magentoが実際に呼び出しinsertChildてどこにデータを入力するか、UIコンポーネントのコレクションを構成するビューモデルをelemsどのようにelems入力するのですか?

2
カスタム文字列をテーマノックアウトテンプレートに変換する
この問題はこのフォーラムで数回処理されていることを知っています Magento2ローカリゼーションJavascript Magento 2-JSテンプレートの翻訳の問題 Magento2がJavascript(KO)テンプレートテキストを変換する Magento 2.1.9プロジェクトにイタリア語の言語パックをインストールしました。ほとんどの文字列は正しく翻訳されています。 テーマに新しい翻訳辞書を追加しました。 vendor/<Vendor>/<Theme>/i18n/it_IT.csv ここで、いくつかの翻訳を変更し、翻訳するテーマの新しい文字列を追加しました。phtmlファイルに含まれる文字列はすべて正常に動作します。 チェックアウトのノックアウトテンプレートにいくつかのカスタム文字列を追加しました。たとえば <My-theme>/Magento_Checkout/web/template/authentication.html 追加した <span data-bind="i18n: 'Do you already have an account?'"></span> 次に、私のテーマit_IT.csvで: "Do you already have an account?","Hai già un account?" もちろん、キャッシュ、pub / static / 、var / view_preprocessed /、var / generationなどを空にして、すべてのコマンドを実行しました。 文字列はまだ英語です。 チェックアウトでいくつかの文字列を翻訳するには、新しい言語パッケージを作成する必要がありますか?どういう理由ですか? EDITオンライン翻訳はすべての文字列で機能します。それは一時的にそれを修正する方法であるかもしれませんが、決定的な解決策ではありません。

1
Magento_Ui / js / lib / knockout / extender / bound-nodes RequireJS Moduleは何をしますか?
Magento 2のKnockout.jsブートストラップモジュールには、define依存関係を介して次のモジュールが含まれています。 Magento_Ui/js/lib/knockout/extender/bound-nodes 技術的には、このモジュールはko.applyBindingsおよびko.cleanNodeメソッドのラッパーを作成します。これらのラッパーは、特定のビューモデルとノードをプライベートJavaScript WeakMapに隠しておき、内のアイテムにアクセスできるようにする単一のレジストリオブジェクトを返しますWeakMap。 ただし、エンドユーザープログラマーが直面している機能によってこれが可能になるかどうかは明らかではありません。ここの誰かがMagento_Ui/js/lib/knockout/extender/bound-nodesモジュールが実際に何のためにあるのか知っていますか?または、Knockout.jsの内部に十分慣れていて、物事を理解できますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.