Come stampare l'ultima query eseguita in CakePHP2?

Segui le seguenti istruzioni per stampare l'ultima query eseguita in CakePHP2:

Per stampare l'ultima query eseguita:

Aggiungi sotto il codice nel file app_model.php che si trova in root / cake / libs / model.

funzione pubblica getLastQuery () {Configure :: write ('debug', '2'); $ dbo = $ this-> getDatasource (); $ logs = $ dbo-> getLog (); $ lastLog = end ($ logs ['log']); return $ lastLog ['query']; }

Aggiungi sotto la riga nel modello in cui desideri eseguire la query di stampa.

$ last_query = $ this-> ModelName-> getLastQuery ();

Dato che abbiamo salvato l'ultima query eseguita nella variabile $ last_query, usiamo questo comando per stampare l'ultima query eseguita.

Nota: il codice sopra funzionerà solo se il tuo modello estende appModel perché abbiamo definito la funzione in app_model.php

Per stampare tutte le query eseguite:

Scrivi sotto il codice nel modello per visualizzare tutte le query che sono state eseguite nel codice:

$ log = $ this-> Model-> getDataSource () -> getLog (false, false); debug ($ log);


Come inviare una copia dell’e-mail di conferma dell’ordine al proprietario del negozio (amministratore) in Opencart?

In Opencart c’è la funzionalità per automatizzare l’invio di e-mail di ordine all’amministratore che inviamo al cliente dopo aver effettuato un ordine.

Per Opencart 2.2

Segui i seguenti passaggi per automatizzare l’invio di e-mail di ordine all’amministratore:

  • Apri il pannello di amministrazione e vai su Sistema -> Impostazione. In questa pagina vedrai una scheda dello store.
  • Apri un negozio in modalità di modifica facendo clic sull’icona di modifica.
  • Apri il “Option” scheda e controlla “E-mail di avviso di nuovo ordine” nella sezione checkout. Seleziona il ‘Sì‘ pulsante di opzione e salva.

Fare riferimento alle schermate di seguito

Nota: Funzione aggiungi cronologia degli ordini() in catalog/model/checkout/order.php il file viene utilizzato per inviare la posta alla posta all’amministratore in. Se si desidera apportare modifiche all’e-mail, è possibile eseguire questa funzione. Cercare ‘if ($this->config->get(‘config_order_mail’)) {‘ per trovare il codice per inviare una mail all’admin.

Per Opencart 2.3

Segui i seguenti passaggi per automatizzare l’invio di e-mail di ordine all’amministratore:

  • Apri il pannello di amministrazione e vai su Sistema -> Impostazione. In questa pagina vedrai una scheda dello store.
  • Apri un negozio in modalità di modifica facendo clic sull’icona di modifica.
  • Apri il ‘mail‘ scheda e seleziona “Posta di avviso” nel “Avvisi di posta” sezione. Seleziona la casella di controllo ‘ordini‘ e salva.

Fare riferimento alle schermate di seguito

Nota: Funzione addOrderHistory() in catalog/model/checkout/order.php il file viene utilizzato per inviare la posta alla posta all’amministratore in. Se si desidera apportare modifiche all’e-mail, è possibile eseguire questa funzione. Cercare ‘if (in_array(‘order’, (array)$this->config->get(‘config_mail_alert’))) {‘ per trovare il codice per inviare una mail all’admin.

Alla fine:

Al fine di migliorare la funzionalità del tuo negozio OpenCart, Knowband offre un’ampia selezione di sia gratuiti che a pagamento Estensioni OpenCart. Con un’ampia varietà di funzionalità disponibili in questi moduli, l’amministratore del negozio può facilmente avviare, sviluppare e far crescere la propria attività. Per saperne di più sulle funzionalità e le caratteristiche dei moduli OpenCart, non esitare a contattarci all’indirizzo support@Knowband.com.

Mostra tutti i prodotti quando la ricerca è vuota (Opencart 2.3.x)

Obiettivi del blog

Dopo aver letto questo blog, potrai visualizzare tutti i prodotti quando la ricerca è vuota.

Dichiarazione problema

Attualmente in Opencart, quando l'utente cerca qualsiasi stringa utilizzando la funzionalità di ricerca, non viene restituito alcun prodotto se non viene trovato alcun prodotto di ricerca nel database. Vogliamo farlo restituire tutti i prodotti quando la ricerca è vuota.

Implementazione del codice

Per raggiungere questo obiettivo, dovremo apportare alcune modifiche alla funzione del modello che stiamo utilizzando per recuperare i prodotti dal database sulla base della parola chiave di ricerca inserita. Qui stiamo apportando dei cambiamenti getProducts () ?function of model Catalogo / modello / Catalogo / Product.php poiché stiamo utilizzando questa funzione per visualizzare i risultati sulla base della parola chiave di ricerca.

Nota: è possibile apportare le stesse modifiche alla funzione del modello che si sta utilizzando per recuperare i prodotti. Ecco il codice che abbiamo aggiunto nel modello:

/ * Controllato se il risultato è vuoto (righe interessate 0) della query che è in esecuzione per recuperare i dati sulla base della parola chiave di ricerca. * Se sì, aggiunge una nuova query per recuperare nuovi prodotti aggiunti ed eseguire lo stesso. * In questo modo mostreremo i nostri nuovi prodotti nella pagina di ricerca invece di mostrare la pagina vuota. * / if ($ query-> num_rows == 0) {$ sql = "SELECT DISTINCT p.product_id FROM". DB_PREFIX. "Prodotto p SINISTRA". 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' AND 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); }

Aggiungi questo codice subito dopo aver eseguito la query principale o subito dopo la riga ($ query = $ this-> db-> query ($ sql)). In questo codice abbiamo prima controllato il numero della riga interessata dalla query principale (utilizzata per recuperare i dati sulla base della parola chiave di ricerca). Se la riga interessata è 0 ($ query-> num_rows == 0) quindi ha aggiunto la nostra query per recuperare nuovi prodotti aggiunti. In questo modo mostreremo i nostri nuovi prodotti nella pagina di ricerca invece di mostrare la pagina vuota.

Nota: qui abbiamo scritto una query per recuperare nuovi prodotti aggiunti dal database se la ricerca è vuota. Puoi anche aggiungere una query per recuperare prodotti speciali o best seller in base alle tue esigenze.

sommario

Dopo aver apportato le seguenti modifiche nel file del modello, i nuovi prodotti aggiunti verranno mostrati quando la ricerca è vuota.


Ricevi gli ultimi prodotti senza prezzi speciali (Opencart 2.3)

Obiettivi del blog

Dopo aver letto questo blog, potrai recuperare i prodotti dal database Opencart sulla base del parametro che viene passato dall'URL.

Requisito

Dobbiamo visualizzare gli ultimi prodotti sulla base del parametro passato nell'URL. Usando questo parametro dobbiamo decidere se dobbiamo mostrare prodotti speciali o no.

Implementazione del codice

Per implementarlo dobbiamo apportare modifiche al nostro controller e modello. Nel controller abbiamo aggiunto la condizione per passare il parametro e nel modello apporteremo delle modifiche nella query in base al parametro passato. Per gestire la condizione che stiamo usando show_special parametro nel codice. Di seguito è riportato il codice che dobbiamo aggiungere nel controller (Catalogo / regolatore / estensione / modulo / latest.php):

/ * Verifica della chiave show_special nel parametro get * Questa chiave ($ show_special) verrà utilizzata per recuperare i dati dal database in modo condizionale. * cioè se $ show_special = 1 quindi visualizza i prodotti speciali * $ show_special = 0 quindi visualizza prodotti che non hanno speciali * else * visualizza tutti i prodotti indipendentemente da speciali * / if (isset ($ this-> request-> get [' show_special '])) {// passaggio del valore nella variabile se impostato nell'URL $ show_special = $ this-> request-> get [' show_special ']; } else {// Altrimenti verrà passata la stringa vuota $ show_special = ''; } // Creazione di una variabile da passare al modello $ filter_data = array ('start' => ($ page - 1) * $ limit, 'limit' => $ limit, 'show_special' => $ show_special); // Chiamata alla funzione modello per recuperare i dati dal database in base ai dati passati nell'array filter_data. $ results = $ this-> model_catalog_product-> getProductLatest ($ filter_data);

In questo codice per prima cosa abbiamo controllato che se 'show_special'il parametro è impostato nell'URL o no. Se sì, imposta il valore del parametro in una variabile $ show_special e se no, quindi impostare la variabile come vuota. Quindi abbiamo creato un array ($ default_data) con i valori per conto dei quali dobbiamo recuperare i prodotti dal database. Quindi abbiamo chiamato la funzione del modello getProductLatest () per recuperare gli ultimi prodotti in base alla variabile passata ($ filter_data) nella funzione. Ecco la funzione che dobbiamo aggiungere nel modello (Catalogo / modello / catalogo / prodotto):

funzione pubblica getProductLatest ($ data = array ()) {// Impostazione $ join e $ condition parametri per recuperare i dati di prodotti speciali if ($ data ['show_special'] == '1') {$ join = "LEFT JOIN" . 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 'OR ps.date_start <NOW ()) AND (ps.date_end =' 0000-00-00 'OR ps.date_end> NOW () O ps.date_end = '0001-01-01')) "; } // Impostazione dei parametri $ join e $ condition per il recupero dei dati di prodotti che non sono 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 È NULL"; } else {// Impostazione dei parametri $ join e $ condition per il recupero dei dati di tutti i prodotti, indipendentemente dallo speciale $ join = ''; $ condizione = ''; } // Query per recuperare i dati dei prodotti dal database. Aggiunto $ join e $ condition parametro nella query per recuperare i dati di conseguenza $ sql = "SELECT DISTINCT p.product_id FROM". DB_PREFIX. "Prodotto p SINISTRA". 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' AND p.date_available <= NOW () AND p2s.store_id = '". (int) $ this-> config-> get ('config_store_id'). "$ condizione GROUP BY p.product_id ORDER BY p.product_id DESC"; // Impostazione del limite in query se superato LIMIT dal controller. if (isset ($ data ['start']) || isset ($ data ['limite'])) {if ($ data ['start'] <0) {$ data ['start'] = 0; } if ($ data ['limit'] <1) {$ data ['limit'] = 20; } $ sql. = "LIMIT". (int) $ data ['start']. ",". (int) $ dati [ 'limite']; } $ product_data = array (); // Esegui query $ query = $ this-> db-> query ($ sql); // Loop per impostare i dati recuperati nella variabile da passare nel controller. foreach ($ query-> rows as $ result) {$ product_data [$ result ['product_id']] = $ this-> getProduct ($ result ['product_id']); } // Restituisci i dati dei prodotti al controller. return $ product_data; }

Nel modello abbiamo impostato delle variabili $ unirsi e $ condizione sulla base delle seguenti tre condizioni:

  1. Se show_special è 1: In questo caso abbiamo mostrato solo i prodotti che sono speciali. Come in opencart, i dati di prodotti speciali sono memorizzati nella tabella oc_product_special, quindi abbiamo aggiunto join della tabella oc_product con la tabella oc_product_secial per recuperare solo i dati di prodotti speciali.
  2. Se show_special è 0: In questo caso abbiamo visualizzato prodotti che non sono impostati come speciali. Quindi per trovare prodotti che non sono speciali dobbiamo recuperare i prodotti che sono nella tabella speciale ma nella tabella oc_product_special. Per questo abbiamo aggiunto il join LEFT della tabella oc_product con la tabella oc_product_secial e la condizione aggiunta "ps.product_id IS NULL".
  3. Se show_special è diverso da 0 e 1: In questo caso dobbiamo recuperare tutti i prodotti, siano essi speciali o meno. Quindi per questo abbiamo recuperato direttamente i dati dalla tabella oc_product.

Dopo aver aggiunto tutte e tre le possibili condizioni, abbiamo scritto una query e l'abbiamo eseguita. Quindi abbiamo impostato tutti i dati recuperati $ product_data array e restituire lo stesso al controller.

Nota: qui per recuperare gli ultimi prodotti abbiamo appena usato 'Ordina per product_id DESC' nella query. Se si desidera recuperare i dati dei prodotti che sono stati aggiunti negli ultimi giorni, è possibile aggiungere un'altra condizione nella clausola WHERE, ad esempio date_added> 'any date'.

sommario

Dopo aver seguito la procedura precedente, sarà possibile recuperare gli ultimi prodotti speciali sulla base del parametro passato per i prodotti speciali nell'URL.


Come creare URL SEO friendly in Opencart 2.x?

Introduzione

Questo documento darà un’idea su come creare URL SEO Friendly in Opencart (versione 2.x). Spiegherà anche come personalizzare la funzione Opencart per creare URL SEO diversi dalle pagine predefinite (pagina del prodotto, pagina della categoria ecc.). Questo documento spiegherà anche come reindirizzare 301 URL dal vecchio URL al nuovo URL e gli URL eliminati. Lo scopo principale di questo documento è imparare a creare URL SEO Friendly in Opencart (versione 2.x) e reindirizzamenti URL per mantenere il nostro posizionamento SEO su Google. Gli URL SEO Friendly sono URL ben realizzati che forniscono sia agli esseri umani che ai motori di ricerca un’indicazione di facile comprensione di cosa tratterà la pagina di destinazione.

Passaggio predefinito in Opencart per abilitare l’URL SEO

In Opencart ci sono impostazioni che dobbiamo gestire dal pannello di amministrazione per attivare URL SEO Friendly.

Di seguito sono riportati i passaggi per abilitare:

  • Apri il pannello di amministrazione. Vai su Sistema > Impostazioni. Quindi fare clic sul pulsante di modifica corrispondente al negozio dalla pagina dell’elenco dello store.
  • Nella pagina di modifica delle impostazioni di sistema, apri la scheda “Server”.
  • Nel server, la scheda seleziona il pulsante di opzione ‘Sì’ corrispondente a ‘Utilizza URL SEO’ e quindi fa clic sul pulsante Salva.

In questo modo l’amministratore sarà in grado di utilizzare gli URL SEO.

Raccomandato Leggi:ï ¿½Le 10 migliori estensioni Opencart per migliorare l’esperienza del cliente

Le pagine in Opencart hanno la possibilità di aggiungere URL SEO friendly

In Opencart c’è un’opzione predefinita per creare URL SEO-friendly per la seguente pagina:

  • Scheda prodotto
  • Pagina di categoria
  • Pagina del produttore
  • Pagina delle informazioni

Per tutte queste pagine sopra c’è un’opzione nella rispettiva pagina di modifica per inserire l’URL SEO.

Raccomandato Leggi:ï ¿½Le 10 principali funzionalità da considerare durante la creazione di un mercato sulla piattaforma OpenCart

Product Page

Per salvare l’URL SEO di qualsiasi pagina di prodotto, vai su Catalogo > Prodotti nel pannello di amministrazione. Fare clic sul pulsante di modifica corrispondente al nome del prodotto. Nella pagina di modifica del prodotto fare clic su ‘Sincronizzazione dei‘ scheda. Nella scheda Dati, c’è un’opzione per ‘Parola chiave SEO‘. Inserisci l’URL SEO del prodotto e poi salva.
Fare riferimento alla schermata seguente:

categoria Pagina

Per salvare l’URL SEO di qualsiasi pagina di categoria vai su Catalogo > Categorie nel pannello di amministrazione. Fare clic sul pulsante di modifica corrispondente alla categoria. Nella pagina di modifica della categoria fare clic su ‘Sincronizzazione dei‘ scheda. Nella scheda Dati, c’è un’opzione per ‘URL SEO“. Inserisci l’URL SEO della categoria e quindi salva.
Fare riferimento alla schermata seguente:

Pagina produttore

Per salvare l’URL SEO di qualsiasi pagina del produttore, vai su Catalogo > Produttori nel pannello di amministrazione. Fare clic sul pulsante di modifica corrispondente al produttore. Nella pagina di modifica del produttore, c’è un’opzione per ‘URL SEO“. Inserisci l’URL SEO del produttore e poi salva.

Fare riferimento alla schermata seguente:

Raccomandato Leggi:ï ¿½Quali sono i pregi e i demeriti dell’utilizzo di una piattaforma OpenCart?

Pagina di informazioni

Per salvare l’URL SEO di qualsiasi pagina informativa vai su Catalogo > Informazioni nel pannello di amministrazione. Fare clic sul pulsante di modifica corrispondente alla pagina delle informazioni. Nella modifica, la pagina delle informazioni fa clic sulla scheda “Dati”. Nella scheda Dati, c’è un’opzione per “URL SEO”. Inserisci l’URL SEO della pagina delle informazioni e quindi salva.

Fare riferimento alla schermata seguente:

Nota: L’amministratore può anche salvare l’URL SEO durante l’aggiunta di un nuovo prodotto, categoria, produttore e pagina delle informazioni. Se l’amministratore desidera creare un URL SEO per qualsiasi pagina personalizzata, deve apportare le modifiche di conseguenza (spiegate di seguito nello stesso documento).

Flusso tecnico per gli URL

In Opencart (versione 2.x) quando l’utente colpisce qualsiasi URL (SEO o non SEO) chiama il file del controller seo_url.php che si trova in catalogue/controller/startup. Questo file viene chiamato per trovare l’URL SEO.

Nota:�L’URL SEO di ogni pagina è memorizzato nella tabella ‘url_alias’ del database. Se il cliente raggiunge un URL non SEO, chiama il file seo_url.php. In questo file è presente il codice che ricerca l’URL SEO dell’URL non SEO nella colonna ‘keyword’ della tabella url_alias corrispondente alla colonna ‘query’

url_alias Tabella nel database

La tabella url_alias viene utilizzata per salvare gli URL SEO di tutte le pagine. Per impostazione predefinita, nella tabella sono presenti le seguenti 3 colonne:

  • url_alias_id: chiave primaria della tabella.
  • Query: contiene l’id di diverse pagine come product_id, category_id e altre pagine.
  • Parola chiave: contiene la parola chiave URL SEO della pagina corrispondente

Creazione URL SEO per pagine diverse da quelle predefinite

Se l’amministratore ha creato pagine di destinazione e desidera pubblicare un URL SEO per la pagina. Per questo devi prima fare una voce della pagina nella tabella url_alias.

Esempio 1:
Se l’amministratore ha creato la pagina di destinazione “Sport”, deve inserire una voce nella tabella url_alias come:

  • Nella colonna della query: sport_id=1
  • Nella colonna delle parole chiave: sport

L’amministratore deve anche apportare modifiche al file del controller seo_url.php per sport_id. L’amministratore deve aggiungere una condizione per sport_id uguale a product_id e category_id. Ora, se l’amministratore inserisce l’URL “host/index.php?route=product/landing_page&sport_id=1”, il codice cercherà la parola chiave seo nella tabella url_alias corrispondente a sport_id=1 e quindi servirà l’URL “host/sports”.

Esempio 2:

In questo esempio creeremo un URL SEO per la pagina del blog. Per questo dobbiamo aggiungere una condizione nel file del controller e fare una voce nella tabella url_alias corrispondente a blog_id: Fare riferimento allo screenshot del file seo_url.php di seguito:

Raccomandato Leggi:ï ¿½Come puoi cambiare il formato della valuta in una piattaforma OpenCart?

Screenshot della tabella url_alias

Reindirizzamenti URL in Opencart

In Opencart, se l’amministratore desidera creare nuovi URL SEO e desidera reindirizzare 301 (reindirizzamento permanente) o 302 (reindirizzamento temporaneo) su un nuovo URL, l’amministratore deve apportare le seguenti modifiche al file del controller e alla tabella url_alias.

  1. Crea una nuova colonna old_keyword nella tabella url_alias di tipo ‘varchar‘.
  2. Gestire la condizione nel file del controller per cercare nella colonna old_keyword se l’utente cerca il vecchio URL.

Esempio: Per reindirizzare dal vecchio URL di ‘termini e condizioni‘ al nuovo URL. Se l’amministratore desidera reindirizzare qualsiasi pagina di informazioni dal vecchio URL al nuovo, deve inserire una voce nella tabella url_alias. Fare riferimento allo screenshot qui sotto:

Qui

  • la vecchia parola chiave è: negozio/termini-condizioni.html
  • nuova parola chiave: aiuto/termini-condizioni

Modifiche al file del controller: In seo_url.php l’amministratore del controller deve gestire le condizioni se l’URL di immissione non è stato trovato nella colonna delle parole chiave. Il primo sistema cercherà l’URL inserito nella colonna delle parole chiave. Se non viene trovato, cercherà nella colonna old_keyword. Se trovato, reindirizzerà al nuovo URL corrispondente. Si prega di fare riferimento allo screenshot qui sotto:

Reindirizzamenti URL in Opencart per le pagine eliminate

Se l’amministratore desidera reindirizzare l’URL di categorie, prodotti o qualsiasi altra pagina eliminata sulla home page, può apportare modifiche al file del controller di conseguenza.

Esempio: Qui 301 reindirizzeremo gli URL delle categorie eliminate Passaggi per reindirizzare l’URL delle categorie eliminate:

  • Crea un file e definisci un array con la chiave come URL della categoria eliminata e il valore come URL a cui l’amministratore desidera reindirizzare. Fare riferimento allo screenshot qui sotto per creare una serie di categorie eliminate.

��� Nota: Qui abbiamo definito un valore vuoto perché vogliamo reindirizzare gli URL delle categorie eliminate alla home page

  • Aggiungi una condizione nel controller seo_url.php per reindirizzare dall’URL della categoria eliminata al nuovo URL.

In questo codice abbiamo innanzitutto incluso un file contenente gli URL delle categorie eliminate e quindi verificato se l’URL inserito è nell’array definito o meno. Se sì, reindirizzato a un nuovo URL altrimenti reindirizzato alla pagina non trovata.

Alla fine:

Una varietà di moduli ed estensioni OpenCart, sia gratuiti che a pagamento, sono disponibili da Knowband per aumentare l’operatività del tuo negozio. Per conoscere in dettaglio le piattaforme OpenCart, i moduli disponibili o qualsiasi funzionalità relativa alla piattaforma, non esitare a inviarci un’e-mail a support@Knowband.com.

Implementazione della funzionalità Reazioni Come Facebook utilizzando PHP, jQuery e HTML

Introduzione

Le reazioni sono più espressive rispetto ai semplici pulsanti Mi piace e Non mi piace. Usando le reazioni l’utente può facilmente esprimere il proprio pensiero perché le emoticon sono fondamentalmente un modo per mostrare le emozioni. D’altra parte, se utilizziamo i pulsanti Mi piace e Non mi piace, l’utente non può mostrare l’emozione esatta. Utilizzando le emoticon possiamo rendere il nostro sito più espressivo per l’utente.

Obiettivi del blog

In questo blog troverai un modo semplice e veloce per implementare la funzionalità Reazioni. Dopo aver esaminato il blog, sarai in grado di creare un sistema di reazione per il tuo sito Web come il pulsante Mi piace di Facebook.

lavoro

Ci sarà un pulsante Mi piace e il resto dei pulsanti Reazione. A fuoco il pulsante Mi piace, verranno visualizzati i pulsanti Reazione. JQuery verrà utilizzato per gestire i tocchi sui pulsanti di reazione. Toccando il pulsante di reazione, viene inviata una richiesta Ajax sulla pagina like.php. La logica di salvataggio/aggiornamento dei dati su database può essere scritta nella pagina del gestore. Toccando di nuovo il testo della reazione, la reazione viene annullata e questa volta inviamo Ajax sulla pagina undo_like.php. Tutte le funzionalità per mostrare/nascondere i pulsanti di reazione e l’animazione vengono aggiunte tramite JavaScript e CSS.

Creazione della struttura HTML

Prima di lavorare sulla logica, dovremo creare il layout. HTML per il layout sta seguendo –

Reazioni di Facebook  Reazioni di Facebook  Piace  Knowband e altri 4.3.0

Aggiunta di stile

Stiamo usando due file CSS (style.css e response.css) per aggiungere uno stile alla pagina.

Nota:� Puoi trovare i file CSS nella build completa del progetto.

Aggiunta di funzionalità

Una volta che il nostro layout è pronto, possiamo lavorare sulle funzionalità. Per prima cosa gestiremo i tocchi sui pulsanti Mi piace e Reazione. Per questo, useremo jQuery e aggiungeremo gli eventi click. Il codice per aggiungere gli eventi click è riportato di seguito –

// Aggiunta dell'evento click non appena il documento è pronto $(document).ready(function() { // Aggiunta dell'evento click sul pulsante di reazione usando il nome della classe $(".emoji").on("click ", function() { // like click // Qui scriveremo il codice, che verrà eseguito toccando il pulsante di reazione }); });

Al centro del pulsante di reazione, invieremo la richiesta Ajax sulla pagina php. La richiesta dell’Ajax è riportata di seguito –

// Invio di una richiesta Ajax nella pagina del gestore (like.php) per eseguire le operazioni del database $.ajax({ type: "POST", url: "php/like.php", data: "", success: function (response) { // Questo codice viene eseguito dopo che Ajax ha avuto successo } })

Quindi dovremo creare una pagina del gestore. Questo può essere un semplice file php.

Nota: L’utente può eseguire modifiche al database nel file del gestore in base alle esigenze. Tutto ciò che viene restituito/stampato in quel file viene restituito alla richiesta Ajax e possiamo aggiornare il layout di conseguenza. Qui abbiamo aggiunto il codice per aggiornare il layout per mostrare la reazione attualmente salvata. Il codice completo del file response.js è il seguente:

$(document).ready(function() { $(".emoji").on("click", function() { // Qui otteniamo la reazione che viene sfruttata usando l'attributo data-reaction definito in main page var data_reaction = $(this).attr("data-reaction"); // Invio di una richiesta Ajax nella pagina del gestore per eseguire le operazioni del database $.ajax({ type: "POST", url: "php/like.php ", data: "data_reaction=" + data_reaction, success: function (response) { // Questo codice verrà eseguito dopo che Ajax avrà esito positivo $(".like-details").html("Tu, Knowband e altri 10k") ; $(".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 == "Mi piace") $(".like-emo").html(' '); altrimenti $(".like-emo").html('  '); } }) }); $(".reaction-btn-text").on("click", function() { // annulla come fare clic se ($(this).hasClass("active")) { // Invio di una richiesta Ajax nella pagina del gestore per eseguire le operazioni del database $.ajax({ type: "POST", url: "php/undo_like.php", data: "", success: function (response) { // Gestisce quando l'Ajax ha successo $(". reazione-btn-text").text("Mi piace").removeClass().addClass('reaction-btn-text'); $(".reaction-btn-emo").removeClass().addClass('reaction -btn-emo').addClass("like-btn-default"); $(".like-emo").html(' '); $(".like-details").html("Knowband e altri 1k"); } }) } }) });

sommario

Puoi scaricare il progetto completo dalla seguente posizione:

Clicca qui per scaricare il progetto completo

In questo tutorial non abbiamo trattato la connessione al database e le operazioni in quanto la logica del database può essere diversa in base alle tue esigenze. Con l’aiuto di questo progetto, puoi facilmente implementare la funzionalità di reazione come Facebook nella tua pagina web.