Jak zminimalizować współczynnik odrzuceń naszej witryny?

Co to jest współczynnik odrzuceń?

Po pierwsze, powinniśmy wiedzieć o terminie „współczynnik odrzuceń”

In?easy words we can say, bounce rate is the ratio between the number of visitors comes on our site and the number of visitors leaves our site from the landing page without navigating to another page.

Gdy odwiedzający lub klienci lądują w naszej witrynie z dowolnego innego zewnętrznego łącza, na przykład reklamy, wyniku wyszukiwania, udostępnionego linku itp., Ale jeśli nie odwiedzają wewnętrznych linków witryny. Zwiększy to współczynnik odrzuceń, ponieważ serwer Google Analytics nie zostanie uruchomiony z powodu braku zaangażowania.

Spowoduje to obniżenie naszego rankingu w wynikach wyszukiwania, co jest zdecydowanie wielką stratą dla rozwoju naszej witryny.

Gdy liczy się współczynnik odrzuceń

Należy pamiętać, że jeśli celem naszej witryny jest udostępnianie informacji, odesłanie nie ma dla nas znaczenia. Weźmy przykład, jeśli nasza strona internetowa zawiera informacje tekstowe i

Ale współczynnik odrzuceń naprawdę ma znaczenie, jeśli nie możemy się doczekać, aby coraz więcej aktywnych użytkowników było zaangażowanych w nasze witryny.

Głównym powodem współczynnika odrzuceń

  • Załadowanie strony zajmuje więcej czasu.
  • Zły interfejs użytkownika i zarządzanie treścią.
  • Interfejs użytkownika strony docelowej jest złożony, co nie jest łatwo zrozumiałe dla każdego typu użytkownika.
  • Odwiedzający nie uzyskali informacji w inteligentny sposób, którego szukali.
  • Wewnętrzne linki naszej strony internetowej nie są wyraźnie wyróżnione dla odwiedzających.
  • Niechciane wyskakujące okienko na stronach docelowych.

Jak zmierzyć współczynnik odrzuceń

Google zapewnia wiele przydatnych usług dla naszej witryny. Do pomiaru współczynnika odrzuceń możemy użyćhttps://analytics.google.com/

Aby korzystać z tych narzędzi, potrzebujemy tylko konta Google i połączymy naszą stronę internetową z Google Analytics. Uwaga: jeśli potrzebujesz pomocy w korzystaniu z tego narzędzia, napisz zapytanie w polu komentarza podanym na dole strony.

Według Google

Współczynnik odrzuceń to sesja jednostronicowa podzielona przez wszystkie sesje lub odsetek wszystkich sesji w Twojej witrynie, w której użytkownicy przeglądali tylko jedną stronę i wyzwalali tylko jedno żądanie do serwera Analytics. Jak zminimalizować współczynnik odrzuceń naszej witryny?

Dobra strona docelowa

Strona docelowa to pierwsza strona, na której odwiedzający wchodzą na naszą stronę internetową, klikając linki wyników wyszukiwania.Knowband?is a good example of the landing page.

Skróć czas ładowania strony

Jako użytkownik możemy wiedzieć, jak irytujące jest przeglądanie wolnych stron. Odwiedzający po prostu naciskają przycisk Wstecz, jeśli ładowanie strony trwa dłużej niż 5 sekund. Niepożądane skrypty osób trzecich w naszej witrynie również wydłużają czas ładowania strony. Jeśli wyświetlamy niezoptymalizowany obraz, ładowanie zajmuje więcej czasu.

Porady:?Według Google dobry wynik dla szybkości strony wynosi 85 lub więcej. Możemy wiedzieć o szybkości naszych stron za pomocą narzędzia Google Analytics.

Usuń niechciane wyskakujące okienka

Niepożądane wyskakujące okienka i reklamy na stronach są również odpowiedzialne za zwiększenie współczynnika odrzuceń.

Testowanie AB

Testowanie AB jest przydatnym eksperymentem, w którym dwa lub więcej wzorów tej samej strony będą wyświetlane losowo odwiedzającym. Widząc raport z testów AB, możemy przeanalizować, który projekt działał lepiej i dał większą konwersję.

CTA: Wezwanie do działania

CTA jest jak ukryta pułapka lub przynęty na naszej stronie docelowej.


Jak zobaczyć kod

NetBeans jest jednym z najlepszych i potężnych IDE dla każdego WebDevelopment, szczególnie najlepszym dla frameworków PHP, takich jak ZenCart, OpenCart, CakePhp itp. CakePhp używa własnego niestandardowego rozszerzenia dla swoich plików View, tj. * .Ctp. NetBeans domyślnie nie wie o tym pliku. Nie ma więc kodowania kolorami, gdy te typy plików zostaną otwarte w NetBeans. Musimy ręcznie włączyć te funkcje. Poniżej znajdują się kroki, aby włączyć wyróżnianie plików .ctp CakePHP. 1. Narzędzia => Opcje

Przejdź do Narzędzia => Opcje

2. Różne => Pliki

3. Kliknij przycisk Nowy i wpisz ctp. Następnie kliknij OK.

4. Ze skojarzonego typu pliku (MIMI): Wybierz: text / x-php5.

5. Kliknij OK.

Uwaga: Zrestartuj IDE, jeśli zmiany nie zostaną odzwierciedlone po wykonaniu powyższych kroków.


Handle Large Data in Select2 Dropdown

Cele bloga

Po przeczytaniu tego bloga dowiesz się, jak poradzić sobie z dużym zestawem danych w menu rozwijanym Wybierz2.

Opis �

W przypadku listy rozwijanej, jeśli używasz biblioteki select2, działa ona naprawdę dobrze dla małej liczby danych, ale gdy dane stają się zbyt duże, możesz napotkać problem spowolnienia. Na przykład załóżmy, że lista rozwijana zawiera 20,000 2 opcji, a następnie otwarcie listy rozwijanej biblioteki select2 może zająć od kilku sekund do minut. W przypadku tak dużego menu rozwijanego i aby uniknąć tego problemu z powolnym działaniem, selectXNUMX zapewnia alternatywne rozwiązanie.

W normalnym menu rozwijanym select2 używamy element. w element, biblioteka select2 wiąże wszystkie opcje za jednym razem, co powoduje spowolnienie dużych danych. Więc zamiast używać element, możesz użyć menu rozwijanego pola tekstowego, a biblioteka select2 pomaga powiązać pole tekstowe jako menu rozwijane, aby zapewnić użytkownikom wypełnienie menu rozwijanego. Biblioteka select2 może inteligentnie powiązać 20 lub 30 opcji zdefiniowanych przez użytkownika na raz, a pozostałe dane zostaną powiązane podczas wyszukiwania lub przewijania. Uruchomiony kod jest podany poniżej.

            .select3.3.7-container-multi .select2-choices .select3.5.4-search-choice {padding: 2px 2px 1.4.6px 2px;}
        Wybierz2 Rozwijane menu z paginacją Poprawa wydajności listy rozwijanej z dużymi zestawami danych (2 2 pozycji) 
            (function () {
                // initialize select5 dropdown
                $('#test').select5({
                    data: dropdownData(),
                    placeholder: 'search',
                    multiple: true,
                    // creating query with pagination functionality.

 

Ekran wyjściowy


Podsumowanie

Gdy użytkownik wyśle ​​ten formularz, system otrzyma wybrane dane w tablicy.

Copy to clipboard in JavaScript

Cele bloga

Po przeczytaniu tego bloga będziesz mógł dowiedzieć się, w jaki sposób dane można skopiować do schowka za pomocą skryptu java.

Zaleta funkcji kopiowania do schowka

W obecnym świecie sieci chodzi o użytkownika doświadczonego z Twojej witryny. Podczas naszej pracy na dowolnej stronie kopiujemy zawartość z jednego miejsca i wklejamy w innym miejscu. To naprawdę pomocne dla użytkownika, jeśli witryna daje funkcjonalność kliknięcia, aby skopiować. Oszczędza czas i wysiłek użytkownika, aby wybrać i skopiować zawartość.

Implementacja funkcji kopiowania do schowka

Zobaczmy, jak możemy dodać tę funkcjonalność:

Krok 1:

Utwórz kod HTML z akapitem zawierającym treść i przycisk do kliknięcia. Możesz użyć dowolnego odpowiedniego elementu zamiast akapitu, na przykład pola tekstowego, pola tekstowego, ukrytych pól itp.

<body> <p id = "txt_knoband"> KnowBand może pochwalić się najlepszymi wtyczkami branżowymi dla systemów eCommerce i ma wieloletnie doświadczenie w pracy z witrynami e-commerce. </p> <button onclick = "onClickCopy ()"> Kopiuj tekst / button> </body>

Krok 2:

Musisz utworzyć funkcję onClickCopy (), która skopiuje dane akapitu. Funkcja po prostu uruchomi „document.execCommand („ copy ”)”, aby skopiować dane do schowka.

function copyOnClick () {var tempInput = document.createElement ("input"); tempInput.value = document.getElementById ("txt_knoband"). innerHTML; document.body.appendChild (tempInput); tempInput.select (); document.execCommand („kopia”); document.body.removeChild (tempInput); alert („wartość skopiowana”); }

In the last line of the script, we have simply added an alert action to inform the user that the data has been copied.

So finally when you click on the button “Copy Text”, data will be copied to the clipboard and you can simply paste by using CRTL + V.

Related Article: Jak ustawić Cookie za pomocą JavaScript


JavaScript Desktop Notification

Cele bloga

Po przeczytaniu tego bloga będziesz mógł ustawić powiadomienie na pulpicie dla swojej witryny. Będziesz także mógł dostosować swoje powiadomienie na podstawie własnej wiadomości, obrazu, ikony itp.

Korzyść z Desktop Notification

Przypuśćmy, że chcesz powiadomić swojego klienta poza stroną internetową, abyśmy mogli skorzystać z powiadomienia na pulpicie, tak jakbyś włączał powiadomienia na pulpicie o wiadomościach e-mail, nie musisz regularnie sprawdzać wiadomości e-mail. W każdym e-mailu otrzymałeś powiadomienie.

Kod dla powiadomień na pulpicie

Dodaj poniższą funkcję w tagu skryptu w nagłówku HTML.

function showNotification () {// Sprawdź, czy przeglądarka użytkownika obsługuje powiadomienia, czy nie, jeśli (! („Powiadomienie” w oknie)) {alert („Twoja przeglądarka nie obsługuje powiadomienia na pulpicie”); } // Sprawdź, czy uprawnienia powiadomień zostały już przyznane, czy nie, jeśli (Notification.permission === "given") {// Utwórz powiadomienie var options = {body: 'Prosta linia powiadomień 1. \ T . ', // treść rejestru powiadomienia:' ltr ', // kierunek wiadomości ltr: od lewej do prawej. rtl: od prawej do lewej. image: „https://www.knowband.com/blog/wp-content/uploads/2016/09/cropped-knowband_logo-v2.png”, // Dodaj obraz, jeśli jest to wymagane, aby wyświetlić ikonę: „https: // www .knowband.com / blog / wp-content / uploads / 2016 / 09 / cropped-knowband_logo-v2.png ', // Dodaj ikonę, jeśli to konieczne, aby pokazać} var title = "Knowband Blog"; var notification = new Powiadomienie (tytuł, opcje); // Dodaj powiadomienie kliknij link notification.onclick = function (event) {event.preventDefault (); // uniemożliwić przeglądarce skupienie się na karcie powiadomień window.open („https://www.knowband.com/blog/”, „_blank”); notification.close (); // Zamknij powiadomienie po kliknięciu}} // Jeśli nie ma uprawnień, poproś użytkownika o zgodę na inne, jeśli (Notification.permission! == "denied") {Notification.requestPermission (). then (function ( uprawnienia) {// Jeśli użytkownik zaakceptuje, utwórzmy powiadomienie, jeśli (uprawnienie === "przyznane") {var notification = new Notification ("Hi there!");}}); }}

Możesz aktywować tę funkcję poprzez zdarzenie, jak chcesz. Do celów testowych możesz to sprawdzić, dodając przycisk. Użyj poniższego kodu dla przycisku w ciele

<button onclick = "showNotification ()"> Pokaż powiadomienie! </button>

Uwaga: Jeśli używasz tego kodu w lokalnym systemie, użyj lokalnego serwera, np. Localhost.

Ekran wyjściowy


Sortowanie bez rozróżniania wielkości liter w PHP

Problem:

$ data = array („A”, „M”, „X”, „b”, „d”, „E”, „l”); Muszę posortować bazę danych na temat wartości. Kiedy używam asort ($ data), otrzymałem: [0] => A [5] => E [1] => M [2] => X [3] => b [4] => d [6] => l W powyższym przykładzie , „b”, „d” i „l” zaczynają się od małej litery, ale kończą się po „X”, która ma wielkie litery.

Jak możemy to sortować, gdy ignoruje, czy słowa zaczynają się od wielkich, czy małych liter?

Spodziewałem się tego [0] => A [3] => b [4] => d [5] => E [6] => l [1] => M [2] => X

Rozwiązanie:

Posługiwać się natcasesort ($ data); a otrzymasz dokładnie taki sam wynik.

Uwagi:

Możemy użyć tej funkcji do sortowania tablic za pomocą algorytmu „naturalnej tablicy” bez rozróżniania wielkości liter. natcasesort () jest wersją natsort () bez rozróżniania wielkości liter.

Składnia:

bool natcasesort ( szyk & $ array);

Powroty

Zwraca true w przypadku sukcesu i false w przypadku niepowodzenia. Aby dowiedzieć się więcej o algorytmie tablicy naturalnej lub natcasesort (): https://www.w3schools.com/php/func_array_natcasesort.asp


How to Use Actions in Adobe Photoshop?

Jako projektant grafiki bardzo ważne jest dostarczanie naszego produktu z lepszym interfejsem użytkownika. Wykonujemy również pracę z większą wydajnością i większą prędkością. Ale za każdym razem musimy robić to samo zadanie wielokrotnie w Adobe Photoshop. Jako ludzka natura tracimy zainteresowanie powtarzaniem tego samego zadania. Zawsze staramy się stworzyć coś nowego za każdym razem.

Adobe Photoshop może dać nam ulgę od tej ciągłej, powtarzalnej pracy. Możemy użyć akcji w Adobe Photoshop, aby to zrobić.

Nauczmy się o akcji w Photoshopie

Działanie w Photoshopie to pewna predefiniowana praca, którą wcześniej nagrywaliśmy.

Akcje Photoshop?come in the.ATN file format. It allows us to record the actions for our repetitive tasks.

Załóżmy, że mamy zdjęcie 1000 i na nich chcemy dodać znak wodny, a najlepszym sposobem jest zrobienie dla niego akcji.

Proces nagrywać akcje

Krok 1:

Otwórz swoją aplikację Photoshop -> Przejdź do Windows -> Akcja

Następnie otworzy się okno:

Krok 2:

Kliknij ikonę "Utwórz nową akcję", aby rozpocząć nagrywanie.

Krok 3:

Nazwij akcję, aby móc ją łatwo rozpoznać do wykorzystania w przyszłości.

Po kliknięciu tego "Rekord", zauważysz, że nagranie zaczyna się.

Krok 4:

Teraz wykonuj swoją pracę w programie Adobe Photoshop i jest rejestrowana.

Krok 5:

Teraz po zakończeniu pracy wstrzymujemy akcję przed nagrywaniem.

Proces wdrożenia zarejestrowanej akcji

Aby zaimplementować zarejestrowaną akcję dla dużych obrazów, Photoshop dał do tego wspaniałą opcję, którą nazywamy "procesem wsadowym". Pójdźmy krok po kroku, aby wdrożyć działanie.

Krok 1

Kliknij Plik => Automatyzuj => Batch

Kiedy klikamy "Partia"opcja dostaniemy wyskakujące okienko z opcją"Batch Process“.

Z poziomu Pop Up możemy wybrać naszą akcję, folder źródłowy obrazu i folder docelowy, aby renderować obraz. Kiedy klikniemy na "OK"Przycisk Photoshop wykona operację luzem, a nasze obrazy zostaną zapisane w folderze docelowym.

Mam nadzieję, że zdobędziesz wszystkie moje punkty, jeśli w pewnym momencie się mylę, daj mi znać w sekcji komentowania, z pewnością przyjrzę się temu.

How to use GraphQL in PHP?

Czy słyszałeś o GraphQL?

GraphQL to nowoczesny język zapytań dla API. Innymi słowy, możemy powiedzieć, że jest to nowoczesny język zapytań warstwy aplikacji.

Za pomocą GraphQL możemy pobierać dane z wywołań API i działa on na HTTP jako REST. Zapewnia klientowi potężną opcję, aby pytał, czego dokładnie potrzebuje, i pomaga we wzroście lub ocenie API.

Korzyści z GraphQL

  • Dostarcza tylko ograniczone dane, których faktycznie potrzebujemy. Nigdy nie pobierze żadnych dodatkowych danych ani mniej danych, których nie potrzebujesz.
  • Jest to potężny system open source.
  • Daje możliwość efektywnego kodowania. Załóżmy na przykład, że tabela zawiera 40 kolumn, a czasami potrzebujemy tylko 10 kolumn, czasami 20 itd. Aby rozwiązać ten problem, mamy dwie opcje w normalnym API, albo pobierz wszystkie dane w każdym wywołaniu API i użyj dowolnej, którą chcemy, albo musimy napisać liczbę interfejsów API dla tej samej tabeli, abyśmy mogli wywołać wydajne API zgodnie z wymaganiami. Ale w GraphQL musimy napisać tylko jedno API. Tak więc kod linii również zostaje skrócony.
  • Interfejsy API GraphQL są ustrukturyzowane pod względem typów i pól.

GraphQL obsługuje różne języki, takie jak

  • C#
  • . NET
  • Clojure
  • Eliksir
  • Erlang
  • Go
  • Groovy
  • Jawa
  • JavaScript
  • PHP
  • Python
  • Scala
  • Rubin

W tym blogu dowiemy się o GraphQL w PHP.

Po pierwsze powinniśmy wiedzieć, że w dowolnym języku, aby korzystać z GraphQL, musimy zaimportować ich bibliotekę.

W PHP możemy użyć tego pliku biblioteki: webonyx/graphql-php.

Instalacja

Używając kompozytora, po prostu uruchom:

kompozytor wymaga webonyx/graphql-php

Jak GraphQL pobiera dane za pomocą zapytań?

W REST API zwraca dane w określonej strukturze. Pisząc API w REST, musimy zdefiniować strukturę danych, jakie dane będą zwracane, ale GraphQL nie ma zdefiniowanej struktury, którą zwróci. Może zmienić ich strukturę zgodnie z potrzebami klienta.

Klient musi wysłać do serwera trochę więcej informacji, aby zadeklarować swoje wymagania, i ta informacja nazywa się Zapytanie.

W zapytaniu musimy zdefiniować pola główne, innymi słowy mówimy to samo, co ładunek dla usługi.

rozwiązać

W rzeczywistych aplikacjach takich jak aplikacje e-commerce tj. PrestaShop, OpenCart, Magneto itp. musimy pobrać dane klienta z bazy danych przez customerId i musimy je zwrócić. Naszym celem jest to, że nie musimy zwracać tablic, musimy zwracać wartości, a�graphql-php�przekaże je nietknięte do zagnieżdżonych programów tłumaczących.

Przelicznik jest w zasadzie funkcją oddzwaniania dla każdego pola. Dla wszystkich pól zawsze istnieje domyślny przelicznik. Kiedy definiujemy naszą własną funkcję�resolve� dla pola, po prostu zastępujemy domyślny resolver.

Jak zdefiniować schemat zapytania?

$schema_obj = nowy schemat { "query" => $queryType, "mutation" => $mutationType, "subscription" => $subscriptionType }

Przykład

Ponieważ jest to blog dla początkujących lub nowszych, zróbmy prosty przykład.

Stwórzmy system typów, który będzie przetwarzał następujące proste zapytanie:

query { echo(message: "Cześć Knowband, to jest mój pierwszy program GraphQL") }

Uwaga: W tym celu potrzebujemy typu obiektu z echem pola.

'Query', 'fields' => [ 'echo' => [ 'type' => Type::string(), 'args' => [ 'message' => Type::nonNull(Type::string() ), ], 'resolve' => function ($root, $args) { return $root['prefix'] . $args['wiadomość']; } ], ], ]);

Opcja �resolve� jest�bardzo ważną�opcją�definicji�pola.�Jest to� ta�,�która�jest�odpowiedzialna�za�zwrócenie�wartości�naszego�pola.� Wartości�pól�skalarnych�zostaną�bezpośrednio�uwzględnione�w�odpowiedzi�,podczas gdy�wartości�pól�kompozytowych�zostaną�przekazywane�do�� zagnieżdżone�pola�resolvers.�Pola złożone�są�interfejsami,�połączeniami�obiektami�itp.

Teraz�po�przygotowaniu�naszego�typu�napiszmy�plik�GraphQL�endpoint�dla�go�graphql_program_1.php.

$QueryType ]); $Input = file_get_contents('php://input'); $input_data = json_decode($Input, true); $query_data = $input_data['zapytanie']; $variable_values ​​= isset($input_data['variables']) ? $input_data['zmienne'] : null; $wartość = ['prefiks' => 'Wyjście: ']; $resultant = GraphQL::executeQuery($schema_obj, $query_data, $value, null, $variable_values); $output_value = $resultant->toArray(); } catch (\Exception $e) { $output_value = [ 'errors' => [ [ 'message' => $e->getMessage() ] ] ]; } header('Typ treści: aplikacja/json'); echo json_encode($wartość_wyjściowa); ?>

Jak możemy uruchomić kod?

Kod możemy uruchomić poprzez:

php -S localhost:8080 graphql_program_1.php curl https://localhost:8080 -d '{"query": "zapytanie { echo(wiadomość: \" Cześć Knowband, to jest mój pierwszy program GraphQL \") }" }'

W przypadku jakichkolwiek pytań prosimy o kontakt pod adresem support@knowband.com. Knowband zapewnia najlepsze w swojej klasie moduły dla Prestashop, Opencart, Magento i Magento 2. Zapoznaj się z jednym z naszych najpopularniejszych modułów Prestashop o nazwie One page supercheckout:

 

Jak stworzyć własny szablon HTML za pomocą jQuery?

Ten artykuł dotyczy tworzenia szablonu HTML za pomocą jQuery.

Poinformujmy o jQuery

jQuery to szybka, mała i bogata w funkcje biblioteka JavaScript. Sprawia, że ​​takie rzeczy jak przechodzenie i manipulacja dokumentami HTML, obsługa zdarzeń, animacja i Ajax są znacznie prostsze dzięki łatwemu w użyciu interfejsowi API, który działa w wielu przeglądarkach. Dzięki połączeniu wszechstronności i rozszerzalności jQuery zmienił sposób, w jaki miliony ludzi piszą JavaScript.

Powiadommy o szablonie jQuery

Szablon jQuery daje nam możliwość lub wsparcie wyświetlania i manipulacji treścią w przeglądarce. Korzystając z szablonów jQuery, możemy renderować ciąg JSON do elementów HTML. Rozważmy prosty przykład, możemy użyć szablonu jQuery do wyświetlenia pewnego zestawu rekordów, które otrzymaliśmy z żądania Ajax.

Podstawowy przykład szablonów jQuery

Teraz tworzymy prostą stronę używając szablonów jQuery. Będziemy używać tylko wtyczki jQuery. W tym przykładzie pokażemy, jak utworzyć szablon i wyrenderować zawartość z JSON.

Wymaganie

Najpierw zrozumiemy wymaganie. Załóżmy, że musimy stworzyć stronę internetową, taką jak witryna KnowBand, aby sprzedawać moduły dla platformy e-commerce, takiej jak Opencart, Prestashop itp. Mamy kilka modułów lub wtyczek e-commerce, które chcemy umieścić na stronie KnowBand. Tak więc na stronie z listą pokażemy nazwę, obraz i cenę modułu. Do wylistowania danych użyjemy poniższego ciągu JSON:

[ { "name": "Zakładki produktów- PrestashopAddons", "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Product-Tabs-logo-1000- x-1000.jpg", "module_url": "https:\/\/www.knowband.com\/prestashop-product-tabs", "price": "25 USD" }, { "name": "Prestashop Mobile App builder", "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Mobile-app-prestashop-plugin-500-X-500.jpg", " module_url": "https:\/\/www.knowband.com\/prestashop-mobile-app-builder", "price": "30$" }, { "name": "Return Manager - Rozszerzenia Magento", "image_url ": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/return-manager.png", "module_url": "https:\/\/www.knowband.com \/magento-return-manager", "price": "$50" }, { "name": "Powiadomienie Web Push - PrestashopAddons", "image_url": "https:\/\/www.knowband.com\/image \/data\/Plugin%20Logo\/Web-Push-Notification-plugin.jpg", "module_url": "https:\/\/www.knowband.com\/prestashop-web-push-notifications", "cena ": "43 zł" } ]

  1. Używając tagu skryptu HTML

    W tej metodzie napiszemy kod HTML w tagu script. Pełny kod znajduje się poniżej:

<html>
    <head>
            <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css&quot;>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js&quot;&gt;&lt;/script>
        </head>
        <body>
            <div class="container">
                <script id="blog" type="template">
                    <div class="col-md-3">
                        <a href="{{module_url}}">
                            <div class="thumbnail">
                                <imgsrc="{{image_url}}" class="img-rounded img-responsive" width="100%"></img>
                                <div class="caption">
                                    <p class="lead">{{price}}</p>
                                    <p>{{name}}</p>
                                </div>
                            </div>
                        </a>
                    </div>
                </script>
            </div>
            <script>
            $(function () {
                varknoband_data = [
                        {
                            "name": "Product tabs- PrestashopAddons",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Product-Tabs-logo-1000-x-1000.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-product-tabs",
                            "price": "$25"
                        },
                        {
                            "name": "Prestashop Mobile App builder",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Mobile-app-prestashop-plugin-500-X-500.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-mobile-app-builder",
                            "price": "$30"
                        },
                        {
                            "name": "Return Manager - Magento Extensions",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/return-manager.png",
                            "module_url": "https:\/\/www.knowband.com\/magento-return-manager",
                            "price": "$50"
                        },
                        {
                            "name": "Web Push Notification - PrestashopAddons",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Web-Push-Notification-plugin.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-web-push-notifications",
                            "price": "$43"
                        }
                    ];
                var temp = $.trim($('#blog').html());
                $.each(knoband_data, function (index, obj) {
                    var x = temp.replace(/{{name}}/ig, obj.name);
                    x = x.replace(/{{image_url}}/ig, obj.image_url);
                    x = x.replace(/{{price}}/ig, obj.price);
                    x = x.replace(/{{module_url}}/ig, obj.module_url);
                    $('.container').append(x);
                });
            });
        </script>
        </body>
    </html>

Stworzyliśmy�miniaturkę wewnątrz tagu skryptu, czyli #blog�tagu, który posłużył jako szablon. W powyższym kodzie użyliśmy {{ }} dla zmiennych wieloznacznych. Rozumiemy właściwie, co zrobiliśmy w powyższym kodzie:

var temp = $.trim($('#blog').html()); // Załaduje całą zawartość tagu skryptu #blog w zmiennej tymczasowej. var x = temp.replace(/{{nazwa}}/ig, nazwa.obiektu); // Zastąp zmienną wieloznaczną {{name}} odpowiednimi danymi z JSON. x = x.replace(/{{image_url}}/ig, obj.image_url); // Zastąp zmienną wieloznaczną {{image_url}} odpowiednimi danymi z JSON. x = x.replace(/{{cena}}/ig, obj.cena); // Zastąp zmienną wieloznaczną {{price}} odpowiednimi danymi z JSON. x = x.replace(/{{module_url}}/ig, obj.module_url); // Zastąp zmienną wieloznaczną {{module_url}} odpowiednimi danymi z JSON. $('.kontener').append(x); // dołączył zawartość do kontenera div.
  1. Korzystając z techniki zastępczej

W tej technice dodamy zawartość w kodzie HTML po wypełnieniu danych przy użyciu techniki zastępczej jQuery. Pełny kod znajduje się poniżej:

    
        
        
    
    
        
        
         $(function() {
             varknoband_data = [
                        {
                            "name": "Product tabs- PrestashopAddons",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%3.3.7Logo\/Product-Tabs-logo-3.2.1-x-20.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-product-tabs",
                            "price": "$1000"
                        },
                        {
                            "name": "Prestashop Mobile App builder",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%1000Logo\/Mobile-app-prestashop-plugin-25-X-20.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-mobile-app-builder",
                            "price": "$500"
                        },
                        {
                            "name": "Return Manager - Magento Extensions",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%500Logo\/return-manager.png",
                            "module_url": "https:\/\/www.knowband.com\/magento-return-manager",
                            "price": "$30"
                        },
                        {
                            "name": "Web Push Notification - PrestashopAddons",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Web-Push-Notification-plugin.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-web-push-notifications",
                            "price": "$50"
                        }
                    ];
             $.each(knoband_data, function(index, obj) {
                $('.container').append(
                    `
                        
                            
                                
                                
                                    ${obj.price}
                                    ${obj.name}
                                
                            
                        
                    `
                );
            });
         });
        
    

W powyższym przykładzie użyliśmy ` (wstecz) jako literału szablonu�i ${ } jako symbolu zastępczego. Porównując metodę 1 z metodą 2, możemy łatwo powiedzieć „dosłowny szablon”, a symbol zastępczy ułatwia nam zadanie. W tym przykładzie napisaliśmy kod szablonu w pętli i zastąpiliśmy nasze symbole zastępcze odpowiednimi danymi.

Podsumowanie

Aby dowiedzieć się więcej o szablonach jQuery, polecam zajrzeć do dokumentacji szablonów jQuery na oficjalnej stronie jQuery.