Як вказати шлях зображення шкіри у шаблоні HTML для нокауту?


10

Я намагаюся додати зображення Magento_Paypal/web/template/payment/paypal-express.htmlшаблону до шаблону. Значок розташований у web/images. Я хотів би використовувати еквівалент наступного коду, який працює в HTML-шаблонах електронної пошти, але не цей конкретний шаблон:

<img src="{{view url='images/icon-paypal.png'}}">

Оскільки фігурні змінні фігурних дужок не працюють у цьому шаблоні HTML, як ви посилаєтесь на зображення, яке існує в web/imagesкаталозі теми ?

Відповіді:


24

Вам потрібно зателефонувати functionв jsшаблон із шаблону.

require.toUrl('images/icon-paypal.png');

3
Це саме те, що я шукав - прийнято! Ось кінцевий тег зображення для тих , хто зацікавлений: <img data-bind="attr: { src: require.toUrl('')+'images/icon-paypal.png' }" alt="">.
thoan

2
Не було б так краще require.toUrl('images/icon-paypal.png');? Я не пробував цього, я просто припускаю, що це працює.
Бен Крук

1
@BenCrook Я можу підтвердити, що ваша пропозиція працює.
Даррен Фелтон

Дякую @Meogi, якщо хтось інший може це підтвердити, я оновлю відповідь. Я надто зайнятий на Magento 1, щоб перевірити його в банкоматі.
Бен Крук

1
@BenCrook Я перевірив і можу підтвердити, що ваше рішення працює
Rafał Cz.

3

Якщо ви намагаєтеся додати просто файл зображення до файлу phtml, вам слід слідувати нижче,

<img src="<?php echo $block->getViewFileUrl('images/image.png') ?>">\

Для цього нокаутом:

Спробуйте додати змінну до вікна з файлу * .phtml:

<script>
  window.imgpath = '<?php echo $block->getViewFileUrl('images/image.png') ?>';
  </script>

і читати цю змінну з вікна:

  function someFunction() {
  var imgPath = window.imgpath;
  }

Змінення коду зображення:

<img alt="" data-bind="attr: { src: someFunction() } "/>

але цей шлях до вікна, вам потрібно зателефонувати в головну частину, тому краще це зробити за допомогою ko.
Sunil Patel

3

створити змінну js у phtml

<script>
  var imgpath = '<?php echo $block->getViewFileUrl('images/image.png') ?>';
</script>

Тепер створіть нову функцію js

getImagepaypal: function() {
                return window.imgpath;
            }

у вас html-файл

 <img alt="" data-bind="attr: { src: getImagepaypal() } "/>

Скажіть, будь ласка, як створити повний js та html-файл у власному заміні та як додати це у xml?
Сарфарай Сіпай

чи хотіли ви замінити magneto default js та html у своєму модулі?
Qaisar Satti

так, я хочу замінити "Magento_CheckoutAgreements" файли phtml, js та html.
Сарфарай Сіпай

@SarfarajSipai слідкуйте за цим magento.stackexchange.com/questions/170646/…
Qaisar Satti

Я знаю, як створити / змінити модуль, але я не знаю, як замінити "js" і "html" у користувацькій темі переоцінити, тому я хочу це знати.
Сарфарай Сіпай

0

Ви можете використовувати це в кожному magento, вимагає js-файлів без будь-яких вимог - його надходження від постачальника / magento / module-topic / view / frontend / templates / page / js / Requ_js.phtml

потрібно.s.contexts ._. config.baseUrl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.