7

おはようスタックオーバーフロー、

Magento 2 でチェックアウト ワンページをカスタマイズしています。現在、配送先住所フォームにラベルの代わりにプレースホルダーを表示しようとしていますが、今のところ成功していません。誰かが私を助けてくれることを願っています

乾杯、ホルヘ

アップデート:

コンソールでは、変数が要素入力の属性プレースホルダーに与えられていることがわかります。

<input class="input-text" type="text" data-bind="
    value: value,
    valueUpdate: 'keyup',
    hasFocus: focused,
    attr: {
        name: inputName,
        placeholder: placeholder, // <<<< right here
        'aria-describedby': noticeId,
        id: uid,
        disabled: disabled
    }" name="street[0]" placeholder="" aria-describedby="notice-BVWUCFN" id="BVWUCFN">

ここで、バックエンドを介してこの変数を変更する方法があるかどうかを知りたいので、プレースホルダー属性にラベル名を表示できます。 スクリーンショットを見る

私の悪い英語に対するお詫び

4

5 に答える 5

2

答えは現在、Magneto 2 のドキュメントにあります: http://devdocs.magento.com/guides/v2.0/howdoi/checkout/checkout_edit_form.html テンプレートは、以前の回答で言及されたものです。magento-ui モジュールのテンプレートは、チェックアウト以外の場所で使用されます。

カスタム モジュール ディレクトリで、新しい /view/frontend/layout/checkout_index_index.xml ファイルを作成します。このファイルに、次のようなコンテンツを追加します。

...
<referenceBlock name="checkout.root">
<arguments>
    <argument name="jsLayout" xsi:type="array">
        ...
        <item name="shippingAddress" xsi:type="array">
            <item name="children" xsi:type="array">
                <!-- The name of the form the field belongs to -->
                <item name="shipping-address-fieldset" xsi:type="array">
                    <item name="children" xsi:type="array">
                        <!-- the field you are customizing -->
                        <item name="telephone" xsi:type="array">
                            <item name="config" xsi:type="array">
                                <!-- Assigning a new template -->
                                <item name="elementTmpl" xsi:type="string">%Vendor_Module%/form/element/%your_template%</item>

%Vendor_Module%/form/element/%your_template% パスは [your theme dir]/Vendor_Module/web/template/form/element/your_template.html です

ブラウザのキャッシュもクリアします: pub/static/frontend および var/view_preprocessing ディレクトリ内のすべてのファイルを削除します。

于 2016-04-30T18:39:18.607 に答える