W Opencart istnieje funkcja automatyzacji wysyłania e-maila z zamówieniem do administratora, który wysyłamy do klienta po złożeniu zamówienia.
Dla Opencarta 2.2
Wykonaj następujące kroki, aby zautomatyzować wysyłanie e-maili z zamówieniami do administratora:
Otwórz panel administracyjny i przejdź do System -> Ustawienia. Na tej stronie zobaczysz listę sklepów.
Otwórz sklep w trybie edycji, klikając ikonę edycji.
Otworzyć “opcja” zakładka i sprawdź “Powiadomienie o nowym zamówieniu” w sekcji kasy. Wybierz ‘Takprzycisk radiowy i zapisz.
Zapoznaj się z poniższymi zrzutami ekranu
Uwaga: Funkcja dodawania historii zamówień() w katalogu/model/checkout/order.php służy do wysyłania poczty na pocztę do administratora w. Jeśli chcesz dokonać jakichkolwiek zmian w wiadomości e-mail, możesz wykonać tę funkcję. Szukaj ‘if ($this->config->get(‘config_order_mail’)) {‘ aby znaleźć kod do wysłania poczty do admina.
Dla Opencarta 2.3
Wykonaj następujące kroki, aby zautomatyzować wysyłanie e-maili z zamówieniami do administratora:
Otwórz panel administracyjny i przejdź do System -> Ustawienia. Na tej stronie zobaczysz listę sklepów.
Otwórz sklep w trybie edycji, klikając ikonę edycji.
Otworzyć ‘Poczta‘ tab i sprawdź “Poczta alarmowa” w “Alerty pocztowesekcja “. Zaznacz pole wyboru ‘Zlecenia‘ i zapisz.
Zapoznaj się z poniższymi zrzutami ekranu
Uwaga: Funkcjonować dodajHistorięZamówień() in katalog/model/zamówienie/zamówienie.php Plik służy do wysyłania poczty na pocztę do administratora w. Jeśli chcesz wprowadzić jakiekolwiek zmiany w wiadomości e-mail, możesz wykonać tę funkcję. Szukaj ‘if (in_array(‘order’, (array)$this->config->get(‘config_mail_alert’))) {‘ aby znaleźć kod do wysłania poczty do admina.
Na końcu:
Aby zwiększyć funkcjonalność Twojego sklepu OpenCart, Knowband oferuje duży wybór zarówno darmowych, jak i płatnych Rozszerzenia OpenCart. Dzięki dużej różnorodności funkcji dostępnych w tych modułach administrator sklepu może łatwo uruchomić, rozwijać i rozwijać swoją działalność. Aby dowiedzieć się więcej o funkcjonalności i funkcjach modułów OpenCart, skontaktuj się z nami pod adresem support@Knowband.com.
Po przeczytaniu tego bloga będzie można wyświetlić wszystkie produkty, gdy wyszukiwanie jest puste.
Problem Statement
Obecnie w OpenCart, gdy użytkownik szuka dowolnego ciągu znaków przy użyciu funkcji wyszukiwania, żadne produkty nie są zwracane, jeśli w bazie danych nie znaleziono żadnego produktu wyszukiwania. Chcemy, aby zwracane były wszystkie produkty, gdy wyszukiwanie jest puste.
Implementacja kodu
Aby to osiągnąć, będziemy musieli wprowadzić pewne zmiany w funkcji modelu, której używamy do pobierania produktów z bazy danych na podstawie wprowadzonego słowa kluczowego wyszukiwania. Tutaj dokonujemy zmian w getProducts () ?function of model katalog / model / katalog / product.php ponieważ używamy tej funkcji do wyświetlania wyników na podstawie słowa kluczowego wyszukiwania.
Uwaga: możesz wprowadzić te same zmiany w funkcji modelu, której używasz do pobierania produktów. Oto kod, który dodaliśmy w modelu:
/ * Sprawdzono, czy wynik jest pusty (dotyczy wierszy 0) zapytania, które jest uruchamiane w celu pobrania danych na podstawie słowa kluczowego wyszukiwania. * Jeśli tak, to dodano nowe zapytanie, aby pobrać nowe produkty i wykonać je. * W ten sposób wyświetlimy nasze nowe produkty na stronie wyszukiwania zamiast wyświetlać pustą stronę. * / if ($ query-> num_rows == 0) {$ sql = "SELECT DISTINCT p.product_id FROM". DB_PREFIX. "product p LEFT JOIN". DB_PREFIX. "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN". DB_PREFIX. "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' I p.date_available <= NOW () AND p2s.store_id = '". (int) $ this-> config-> get ('config_store_id'). "'GROUP BY p.product_id ORDER BY p.product_id DESC LIMIT 20"; $ query = $ this-> db-> query ($ sql); }
Dodaj ten kod zaraz po wykonaniu głównego zapytania lub tuż po linii ($ query = $ this-> db-> query ($ sql)). W tym kodzie najpierw sprawdziliśmy liczbę dotkniętych wierszy według głównej zapytania (używanego do pobierania danych na podstawie słowa kluczowego wyszukiwania). Jeśli dotknięty wiersz to 0 ($ zapytanie-> num_rows == 0) następnie dodaliśmy nasze zapytanie, aby pobrać nowe produkty. W ten sposób wyświetlimy nasze nowe produkty na stronie wyszukiwania zamiast wyświetlać pustą stronę.
Uwaga: tutaj napisaliśmy zapytanie o pobranie nowych produktów z bazy danych, jeśli wyszukiwanie jest puste. Możesz również dodać zapytanie, aby pobrać produkty specjalne lub najlepiej sprzedające się zgodnie z wymaganiami.
Podsumowanie
Po wprowadzeniu następujących zmian w pliku modelu, nowe dodane produkty będą wyświetlane, gdy wyszukiwanie będzie puste.
Po przeczytaniu tego bloga będziesz mógł pobierać produkty z bazy danych Opencart na podstawie parametru przekazywanego z adresu URL.
Wymaganie
Musimy wyświetlić najnowsze produkty na podstawie przekazanego parametru w adresie URL. Korzystając z tego parametru, musimy zdecydować, czy musimy wyświetlać specjalne produkty, czy nie.
Implementacja kodu
Aby to zaimplementować, musimy wprowadzić zmiany w naszym kontrolerze i modelu. W kontrolerze dodaliśmy warunek do przekazania parametru, aw modelu dokonamy zmian w zapytaniu zgodnie z przekazanym parametrem. Aby obsłużyć warunek, z którego korzystamy show_special parametr w kodzie. Poniżej znajduje się kod, który musimy dodać do kontrolera (katalog / kontroler / rozszerzenie / moduł / latest.php):
/ * Sprawdzanie klucza show_special w parametrze get * Ten klucz ($ show_special) zostanie użyty do warunkowego pobrania danych z bazy danych. * tzn. jeśli $ show_special = 1 wyświetli produkty, które specjalne * $ show_special = 0, a następnie wyświetla produkty, które nie mają specjalnego * innego * wyświetlają wszystkie produkty bez względu na specjalne * / if (isset ($ this-> request-> get [' show_special '])) {// przekazanie wartości zmiennej, jeśli ustawiono w URL $ show_special = $ this-> request-> get [' show_special ']; } else {// W przeciwnym razie pusty łańcuch zostanie przekazany $ show_special = ''; } // Tworzenie zmiennej do przekazania do modelu $ filter_data = array ('start' => ($ strona - 1) * limit $, 'limit' => limit $, show_special = = $ show_special); // Wywołanie funkcji modelu w celu pobrania danych z bazy danych zgodnie z danymi przekazanymi w tablicy filter_data. $ results = $ this-> model_catalog_product-> getProductLatest ($ filter_data);
W tym kodzie najpierw sprawdziliśmy, czy "show_specialParametr jest ustawiony w adresie URL lub nie. Jeśli tak, ustaw wartość parametru w zmiennej $ show_special a jeśli nie, ustaw zmienną jako pustą. Następnie stworzyliśmy tablicę ($ default_data) z wartościami, w imieniu których musimy pobrać produkty z bazy danych. Następnie nazwaliśmy funkcję modelu getProductLatest () aby pobrać najnowsze produkty zgodnie ze zmienną ($ filter_data) w funkcji. Oto funkcja, którą musimy dodać w modelu (katalog / model / katalog / produkt):
public function getProductLatest ($ data = array ()) {// Ustawianie parametrów $ join i $ condition w celu pobrania danych produktów specjalnych, jeśli ($ data ['show_special'] == '1') {$ join = "LEWE DOŁĄCZ" . DB_PREFIX. "product_special ps ON (ps.product_id = p.product_id)"; $ condition = "AND ps.customer_group_id = '". (int) $ this-> config-> get ('config_customer_group_id'). "'AND ((ps.date_start =' 0000-00-00 'LUB ps.date_start <NOW ()) AND (ps.date_end =' 0000-00-00 'LUB ps.date_end> NOW () LUB ps.date_end = '0001-01-01')) "; } // Ustawianie parametrów $ join i $ condition w celu pobrania danych produktów, które nie są specil elseif ($ data ['show_special]] ==' 0 ') {$ join = "LEFT JOIN". DB_PREFIX. "product_special ps ON (ps.product_id = p.product_id)"; $ condition = "AND ps.product_id IS NULL"; } else {// Ustawianie parametrów $ join i $ condition w celu pobrania danych wszystkich produktów bez względu na specjalne $ join = ''; $ condition = ''; } // Zapytanie do pobrania danych produktów z bazy danych. Dodano parametr $ join i $ condition w zapytaniu, aby pobrać dane odpowiednio $ sql = "SELECT DISTINCT p.product_id FROM". DB_PREFIX. "product p LEFT JOIN". DB_PREFIX. "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN". DB_PREFIX. "product_to_store p2s ON (p.product_id = p2s.product_id) $ join WHERE p.status = '1' I p.date_available <= NOW () AND p2s.store_id = '". (int) $ this-> config-> get ('config_store_id'). "'$ condition GROUP BY p.product_id ORDER BY p.product_id DESC"; // Ustawianie limitu w zapytaniu, jeśli przekazano LIMIT z kontrolera. if (isset ($ data ['start']) || isset ($ data ['limit'])) {if ($ data ['start'] <0) {$ data ['start'] = 0; } if ($ data ['limit'] <1) {$ data ['limit'] = 20; } $ sql. = "LIMIT". (int) $ data ['start']. ",". (int) $ data ['limit']; } $ product_data = array (); // Wykonaj zapytanie $ query = $ this-> db-> query ($ sql); // Pętla do ustawienia pobranych danych w zmiennej do przekazania w kontrolerze. foreach ($ zapytanie-> wiersze jako wynik $) {$ product_data [$ result ['product_id']] = $ this-> getProduct ($ result ['product_id']); } // Zwróć dane produktów do kontrolera. return $ product_data; }
W modelu ustawiliśmy zmienne $ join i $ warunek na podstawie następujących trzech warunków:
Jeśli show_special ma wartość 1: W tym przypadku wyświetliliśmy tylko produkty, które są wyjątkowe. Podobnie jak w opencart, dane specjalnych produktów są przechowywane w oc_product_special table, więc dodaliśmy join z tabeli oc_product do tabeli oc_product_secial, aby pobrać dane tylko z produktów specjalnych.
Jeśli show_special ma wartość 0: W tym przypadku wyświetliliśmy produkty, które nie są ustawione jako specjalne. Aby znaleźć produkty, które nie są wyjątkowe, musimy pobrać produkty, które są w specjalnej tabeli, ale w tabeli oc_product_special. W tym celu dodaliśmy LEWE sprzężenie do tabeli oc_product z tabelą oc_product_secial i dodano warunek "ps.product_id IS NULL".
Jeśli show_special jest inne niż 0 i 1: W takim przypadku musimy pobrać wszystkie produkty, niezależnie od tego, czy są specjalne, czy nie. W związku z tym pobraliśmy bezpośrednio dane z tabeli oc_product.
Po dodaniu wszystkich trzech możliwych warunków pisaliśmy zapytanie i wykonywaliśmy je. Następnie ustawiliśmy wszystkie pobrane dane $ product_data array i zwróć to samo do kontrolera.
Uwaga: tutaj, aby pobrać najnowsze produkty, które właśnie wykorzystaliśmy w zapytaniu "Zamów przez id_produktu DESC". Jeśli chcesz pobrać dane produktów, które zostały dodane w ciągu ostatnich kilku dni, możesz dodać jeszcze jeden warunek w klauzuli WHERE, np. Date_added> "any date".
Podsumowanie
Po wykonaniu powyższej procedury będziesz mógł pobrać najnowsze produkty specjalne na podstawie przekazanego parametru dla specjalnych produktów w adresie URL.
Ten dokument da wyobrażenie o tym, jak tworzyć przyjazne dla SEO adresy URL w Opencart (wersja 2.x). Wyjaśni również, jak dostosować funkcję Opencart do tworzenia adresów URL SEO innych niż strony domyślne (strona produktu, strona kategorii itp.). W tym dokumencie wyjaśniono również, jak przekierować 301 adresów URL ze starego adresu URL na nowy adres URL i usunąć adresy URL. Głównym celem tego dokumentu jest nauczenie się tworzenia przyjaznych dla SEO adresów URL w Opencart (wersja 2.x) oraz przekierowań adresów URL w celu utrzymania naszego rankingu SEO w Google. Przyjazne dla SEO adresy URL to dobrze przygotowane adresy URL, które zapewniają zarówno ludziom, jak i wyszukiwarkom łatwe do zrozumienia informacje o tym, o czym będzie strona docelowa.
Domyślny krok w Opencart, aby włączyć adres URL SEO
W Opencart są ustawienia, którymi musimy zarządzać z panelu administratora, aby aktywować przyjazne dla SEO adresy URL.
Oto kroki, aby włączyć:
Otwórz panel administracyjny. Przejdź do System > Ustawienia. Następnie kliknij przycisk edycji odpowiadający sklepowi na stronie z listą sklepów.
Na stronie edycji ustawień systemu otwórz zakładkę „Serwer”.
Na serwerze zakładka wybiera przycisk radiowy „Tak” odpowiadający „Użyj adresu URL SEO”, a następnie klika przycisk Zapisz.
W ten sposób administrator będzie mógł korzystać z adresów URL SEO.
Aby zapisać URL SEO dowolnej strony produktu, przejdź do Katalog > Produkty w panelu administracyjnym. Kliknij przycisk edycji odpowiadający nazwie produktu. Na stronie edycji produktu kliknij przycisk „Danezakładka. Na karcie Dane dostępna jest opcja „Słowo kluczowe SEO„. Wprowadź adres URL SEO produktu, a następnie zapisz. Patrz poniższy ekran:
Strona kategorii
Aby zapisać URL SEO dowolnej strony kategorii, przejdź do Katalog > Kategorie w panelu administracyjnym. Kliknij przycisk edycji odpowiadający kategorii. Na stronie edycji kategorii kliknij przycisk „Danezakładka. Na karcie Dane dostępna jest opcja „URL SEOWpisz adres URL kategorii SEO, a następnie zapisz. Patrz poniższy ekran:
Strona producenta
Aby zapisać adres URL SEO dowolnej strony producenta, przejdź do Katalog > Producenci w panelu administracyjnym. Kliknij przycisk edycji odpowiadający producentowi. Na stronie edycji producenta dostępna jest opcja „URL SEOWpisz adres URL SEO producenta, a następnie zapisz.
Aby zapisać URL SEO dowolnej strony informacyjnej, przejdź do Katalog > Informacje w panelu administracyjnym. Kliknij przycisk edycji odpowiadający stronie informacyjnej. Podczas edycji strona informacyjna klika zakładkę „Dane”. W zakładce Dane dostępna jest opcja „SEO URL”. Wprowadź adres URL SEO strony informacyjnej, a następnie zapisz.
Patrz poniższy ekran:
Uwaga: Administrator może również zapisać adres URL SEO podczas dodawania nowego produktu, kategorii, producenta i strony informacyjnej. Jeśli administrator chce utworzyć adres URL SEO dla dowolnych stron niestandardowych, musi odpowiednio wprowadzić zmiany (wyjaśnione poniżej w tym samym dokumencie).
Przepływ techniczny dla adresów URL
W Opencart (wersja 2.x), gdy użytkownik trafi na dowolny adres URL (SEO lub non-SEO), wywołuje plik kontrolera seo_url.php znajdujący się w katalogu/kontroler/startup. Ten plik jest wywoływany w celu znalezienia adresu URL SEO.
Uwaga:�Adres URL SEO każdej strony jest przechowywany w tabeli „url_alias” w bazie danych. Jeśli klient trafi na adres URL inny niż SEO, wywoła plik seo_url.php. W tym pliku znajduje się kod, który przeszukuje adres URL SEO adresu URL innego niż SEO w kolumnie „keyword” tabeli url_alias odpowiadającej kolumnie „query”
url_alias Tabela w bazie danych
Tabela url_alias służy do zapisywania adresów URL SEO wszystkich stron. Domyślnie w tabeli znajdują się następujące 3 kolumny:
url_alias_id: klucz podstawowy tabeli.
Zapytanie: zawiera identyfikator różnych stron, takich jak identyfikator produktu, identyfikator_kategorii i inne strony.
Słowo kluczowe: zawiera słowo kluczowe SEO URL odpowiedniej strony
Tworzenie adresów URL SEO dla stron innych niż domyślne
Jeśli administrator utworzył strony docelowe i chce podać adres URL SEO dla strony. W tym celu najpierw musisz dokonać wpisu strony w tabeli url_alias.
1 przykład:
Jeśli administrator utworzył stronę docelową „Sport”, musi dokonać wpisu w tabeli url_alias jako:
W kolumnie zapytania: sport_id=1
W� kolumna słów kluczowych: sport
Administrator musi również dokonać zmian w pliku kontrolera seo_url.php dla sport_id.� Administrator musi dodać warunek dla sport_id taki sam jak product_id i category_id. Teraz, jeśli administrator wprowadzi adres URL „host/index.php?route=product/landing_page&sport_id=1”, kod przeszuka seo słowo kluczowe w tabeli url_alias odpowiadającej sport_id=1, a następnie wyświetli adres URL „host/sports”.
2 przykład:
W tym przykładzie utworzymy adres URL SEO dla strony bloga. W tym celu musimy dodać warunek w pliku kontrolera i dokonać wpisu w tabeli url_alias odpowiadającego blog_id: Zobacz poniższy zrzut ekranu pliku seo_url.php:
W Opencart, jeśli administrator chce utworzyć nowe adresy URL SEO i chce przekierowania 301 (stałe przekierowanie) lub 302 (przekierowanie tymczasowe) na nowy adres URL, administrator musi wprowadzić następujące zmiany w pliku kontrolera i tabeli url_alias.
Utwórz nową kolumnę stare_słowo_kluczowe w tabeli alias_url typu „varchar‘.
Handel warunek w pliku kontrolera do wyszukiwania w kolumnie old_keyword, jeśli użytkownik szuka starego adresu URL.
Przykład: Aby przekierować ze starego adresu URL „Regulamin‘ na nowy adres URL. Jeśli administrator chce przekierować dowolną stronę informacyjną ze starego adresu URL na nowy, musi dokonać wpisu w tabeli url_alias. Zobacz poniższy zrzut ekranu:
Tutaj
stare słowo kluczowe to: sklep/warunki-warunków.html
nowe słowo kluczowe: pomoc/warunki-warunki
Zmiany w pliku kontrolera: W seo_url.php administrator kontrolera musi obsłużyć warunki, jeśli nie znaleziono adresu URL w kolumnie słów kluczowych. Pierwszy system przeszuka wprowadzony adres URL w kolumnie słów kluczowych. Jeśli nie zostanie znaleziony, przeszuka kolumnę old_keyword. Jeśli zostanie znaleziony, przekieruje do odpowiedniego nowego adresu URL. Proszę zapoznać się z poniższym zrzutem ekranu:
Przekierowania adresów URL w Opencart dla usuniętych stron
Jeśli administrator chce przekierować adres URL usuniętych kategorii, produktów lub jakichkolwiek innych stron na stronie głównej, może odpowiednio wprowadzić zmiany w pliku kontrolera.
Przykład: Tutaj będziemy przekierowywać adresy URL usuniętych kategorii 301 Kroki do przekierowania adresów URL usuniętych kategorii:
Utwórz plik i zdefiniuj tablicę z kluczem jako URL usuniętej kategorii i wartością jako URL, do którego administrator chce przekierować. Zapoznaj się z poniższym zrzutem ekranu, aby utworzyć szereg usuniętych kategorii.
��� Uwaga: Tutaj zdefiniowaliśmy pustą wartość, ponieważ chcemy przekierować adresy URL usuniętych kategorii do strony głównej
Dodaj warunek w kontrolerze seo_url.php, aby przekierować z adresu URL usuniętej kategorii do nowego adresu URL.
W tym kodzie najpierw umieściliśmy plik zawierający adresy URL usuniętych kategorii, a następnie sprawdziliśmy, czy wprowadzony adres URL znajduje się w zdefiniowanej tablicy, czy nie. Jeśli tak, przekierowanie na nowy adres URL, w przeciwnym razie przekierowanie na nieznaną stronę.
Na końcu:
Różnorodne moduły i rozszerzenia OpenCart, zarówno bezpłatne, jak i płatne, są dostępne od Knowband aby usprawnić działanie Twojego sklepu. Aby dowiedzieć się szczegółowo o platformach OpenCart, dostępnych modułach lub jakiejkolwiek funkcjonalności związanej z platformą, napisz do nas e-mail na adres support@Knowband.com.
Reakcje są bardziej wyraziste w porównaniu z prostymi przyciskami „lubię i nie lubię”. Za pomocą reakcji użytkownik może łatwo wyrazić swoje myśli, ponieważ emotikony są w zasadzie sposobem na pokazanie emocji. Z drugiej strony, jeśli użyjemy przycisku lubię i nie lubię, użytkownik nie może pokazać dokładnej emocji. Używając emotikonów możemy uczynić naszą stronę bardziej wyrazistą dla użytkownika.
Cele bloga
Na tym blogu znajdziesz łatwy i szybki sposób na zaimplementowanie funkcjonalności Reactions. Po przejrzeniu bloga będziesz mógł stworzyć system reakcji dla swojej strony internetowej, taki sam jak przycisk Lubię to na Facebooku.
Pracujący
Będzie jeden przycisk Like i pozostałe przyciski Reaction. Po zaznaczeniu przycisku Like, wyświetlą się przyciski reakcji. JQuery będzie używany do obsługi naciśnięć przycisków reakcji. Po dotknięciu przycisku reakcji, żądanie Ajax jest wysyłane na stronę like.php. Logika zapisywania/aktualizowania danych w bazie danych może być napisana na stronie obsługi. Po ponownym dotknięciu tekstu reakcji reakcja zostaje cofnięta i tym razem wysyłamy Ajax na stronę undo_like.php. Cała funkcjonalność pokazywania/ukrywania przycisków reakcji i animacji jest dodawana przez JavaScript i CSS.
Tworzenie struktury HTML
Zanim zaczniemy pracować nad logiką, będziemy musieli stworzyć układ. Kod HTML układu jest następujący:
Reakcje na Facebooku Reakcje na Facebooku Tak jak Knowband i 4.3.0k innych
Dodawanie stylu
Używamy dwóch plików CSS (style.css i response.css), aby dodać stylizację na stronie.
Uwaga:� Pliki CSS można znaleźć w kompletnej kompilacji projektu.
Dodawanie funkcjonalności
Gdy nasz układ jest gotowy, możemy pracować nad funkcjonalnościami. Najpierw zajmiemy się dotknięciem przycisków Like i Reaction. W tym celu użyjemy jQuery i dodamy zdarzenia kliknięcia. Kod do dodania zdarzeń kliknięcia znajduje się poniżej –
// Dodanie zdarzenia kliknięcia, gdy tylko dokument będzie gotowy $(document).ready(function () { // Dodanie zdarzenia kliknięcia na przycisku reakcji przy użyciu nazwy klasy $(.emoji").on("click ", function() { // jak kliknięcie // Tu będziemy pisać kod, który będzie uruchamiany po naciśnięciu przycisku reakcji }); });
W centrum uwagi przycisku reakcji wyślemy żądanie Ajax na stronie php. Żądanie Ajax jest podane poniżej –
// Wysłanie żądania Ajax na stronie handlera (like.php) w celu wykonania operacji na bazie danych $.ajax({ type: "POST", url: "php/like.php", data: "", success: function (odpowiedź) { // Ten kod jest uruchamiany po pomyślnym wykonaniu Ajax } })
Następnie będziemy musieli stworzyć stronę obsługi. Może to być prosty plik php.
Uwaga: Użytkownik może dokonywać zmian w bazie danych w pliku handlera zgodnie z wymaganiami. Cokolwiek jest zwracane/drukowane w tym pliku, jest zwracane do żądania Ajax i możemy odpowiednio zaktualizować układ. Tutaj dodaliśmy kod do aktualizacji układu, aby pokazać aktualnie zapisaną reakcję. Pełny kod pliku response.js jest następujący:
$(document).ready(function () { $(.emoji").on("click", function() { // Tutaj otrzymujemy reakcję, która jest podsłuchiwana za pomocą atrybutu data-reaction zdefiniowanego w main page var data_reaction = $(this).attr("data-reaction"); // Wysłanie żądania Ajax na stronie handler'a w celu wykonania operacji na bazie danych $.ajax({ type: "POST", url: "php/like.php ", data: "data_reaction=" + data_reaction, success: function (response) { // Ten kod zostanie uruchomiony po pomyślnym działaniu Ajax $(.like-details").html("Ty, Knowband i 10k innych") ; $(".reaction-btn-emo").removeClass().addClass('reaction-btn-emo').addClass('like-btn-' + data_reaction.toLowerCase()); $(".reaction- btn-text").text(data_reaction).removeClass().addClass('reaction-btn-text').addClass('reaction-btn-text-' + data_reaction.toLowerCase()).addClass("active") ; if (data_reaction == "Lubię") $(".like-emo").html(' '); w przeciwnym razie $(".like-emo").html(' '); } }) }); $(".reaction-btn-text").on("click", function () { // cofnij polubienie kliknięcia if ($(this).hasClass("active")) { // Wysyłanie żądania Ajax na stronie obsługi do wykonania operacji na bazie danych $.ajax({ type: "POST", url: "php/undo_like.php", data: "", success: function (response) { // Obsługa, gdy Ajax się powiedzie $(". reakcja-btn-text").text("Lubię").removeClass().addClass('reaction-btn-text'); $(".reaction-btn-emo").removeClass().addClass('reakcja -btn-emo').addClass("like-btn-default"); $(".like-emo").html(' '); $(".like-details").html("Knowband i 1k innych"); } }) } }) });
Podsumowanie
Możesz pobrać pełny projekt z następującej lokalizacji –
W tym samouczku nie omówiliśmy połączenia i operacji bazy danych, ponieważ logika bazy danych może się różnić w zależności od Twoich potrzeb. Za pomocą tego projektu możesz w prosty sposób zaimplementować na swojej stronie internetowej funkcjonalność reakcji taką samą jak Facebook.