Jak korzystać z biblioteki jquery w Magento 2?

26

Tworzę motyw Magento, w którym muszę dołączyć jQuery.

Kiedy dodać ten <link src="js/jquery-1.7.1.js"/>w head. Działa, ale funkcje javascript Magento nie działają. Jak korzystać z wbudowanej biblioteki jQuery Magento 2 na niestandardowym motywie?

Qaisar Satti
źródło
jquery jest już dodany do m2. Jeśli potrzebujesz jquery w swoim niestandardowym pliku phtml, użyj go przez
requ.js
tak, wiem, że chcę używać niestandardowego motywu .. Mam pliki zależne od biblioteki jquery.
Qaisar Satti
1
use wymaga (['jquery', 'jquery / ui'], funkcja ($) {}
Shaheer Ali 14.01.16
możesz dodać dodatkowe js, używając <script src = "[Vendor_Ext] :: js / custom.js" />
Shaheer Ali 14.01.16
Od kiedy dołączasz js przez linktag ??? Musisz użyć znacznika skryptowego
Black

Odpowiedzi:

52

Jeśli dodajesz swoją niestandardową bibliotekę js inną niż jQuery, musisz dołączyć do niej kod js wymagający funkcji takich jak:

 require(['jquery', 'jquery/ui'], function($){ 
     //your js code here  
 });

Przykłady:

Wewnątrz funkcji wymaganej można uzyskać bezpośredni dostęp do istniejącej funkcji jQuery za pomocą jednego z jQueryjego krótkich aliasów, $znaku dolara . Na przykład:

require(['jquery', 'jquery/ui'], function($){
  jQuery(document).ready( function() {
    alert("Page loaded.");
  });
});

Oto przykład z $aliasem:

require(['jquery', 'jquery/ui'], function($){
  $(document).ready( function() {
    alert("Page loaded.");
  });
});
Shaheer Ali
źródło
Czy można dołączyć plik prototype.js?
Slimshadddyyy
@Vikram, tak, po prostu dodaj element „prototypowy” do tablicy, którą przekazujesz, by wymagać funkcji ().
Roman Glushko,
4

Dodano Jquery / JqueryUI w magento2. Możesz zobaczyć w lib / web / jquery

Aby użyć widgetu jquery lub połączenia z Magento. Z pliku js

define([
  'jquery',
  'jquery/ui',
  'mage/<widget.name>' found in /lib/web/mage dir
], function($){

$.widget('<your_namespace>.<your_widget_name>', $.mage.<widget.name>, {  CODE HERE... });

return $.<your_namespace>.<your_widget_name>;

});
mrtuvn
źródło
3
próbowałem tego i to nie działa, możesz umieścić coś według tematu.
Qaisar Satti