Ho bisogno di identificare il pulsante aggiungi al carrello e disabilitato (js e php) in base all'id del prodotto (questo non è il vero obiettivo della domanda, il grassetto è quello vero)
Dal momento che non ho trovato alcuna soluzione, ho pensato di lasciare che l'amministratore premesse il pulsante nella sezione admin dedicata alla estensione tomy e catturasse le informazioni del pulsante con js e poi le salvasse in seguito.
Per fare ciò, desidero visualizzare il corpo principale della pagina del prodotto e quello di una categoria per ciascun tema nella sezione di progettazione.
Questo è quanto ho recuperare i temi e pacchetti:Magento - Visualizza la body page del prodotto e della categoria per ogni progetto in admin
//Main package/theme
Mage::getStoreConfig('design/package/name')
//Reegex theme
$ob=unserialize(Mage::getStoreConfig('design/package/ua_regexp'));
foreach($ob as $key)
echo $key['value'];
mia preoccupazione principale è per la parte in grassetto, è se è possibile? Come lo faccio?
Giusto per essere chiari: mi serve solo il rettangolo rosso:
Sopra di esso c'è il pangrattato e sulla destra della barra laterale
MAGGIORI DETTAGLI
Quando l'amministratore crea/modifica un prodotto, può selezionare o meno i paesi in cui l'oggetto può essere venduto.
Cosa succede: quando una pagina carica il sistema controlla se l'articolo è commerciabile nel paese dei clienti altrimenti rimuove il pulsante.
Ora questo portare alcuni problemi:
- supporto tema Wide: Non sono sicuro sul pulsante HTML è la stessa di quella di default
Nella stessa pagina può esistere prodotti commerciabili e non commerciabili-: identifica il pulsante dell'elemento corretto nella pagina della categoria dove ci sono più di essi, per farlo controllo il comportamento del pulsante: di solito contiene:
/checkout/cart/
piùproduct id
nell'attributoonlick
o il pulsante invia un modulo, penso che se l'amministratore "mi mostra" cosa succede e, dopo un'analisi, potrò identificare il pulsante e sostituirlo usando loid
(secu ri) oclass
(non così certo), dal momento che non tutti i negozi utilizzano il defaultbtn-cart
classecache di sistema/FPC che recuperare la pagina: non so se sono catturare i js che disabilitano il pulsante o se il cliente ha disassato qualsiasi script (probabilmente non può nemmeno usare il sito), tuttavia il blocco del carrello non viene memorizzato da quei programmi (a volte se l'elemento non è disponibile il pulsante è nascosto)
Problema SEO: gli ospiti non sono obbligati a selezionare un paese, ma cerco di identificarlo con un servizio esterno usando l'ip, quindi probabilmente rileverà anche i bot come utenti, non so se sarà un problema (Io non la penso così, altrimenti devo usare JS per fare una chiamata AJAX e d poi nascondere il pulsante
vorrei evitare qualsiasi modifica a qualsiasi file modello e creare un modo molto semplice per l'utente di configurare il modulo (fare clic su un pulsante è meno complicata di quanto l'intera procedura per creare un attributo, le opzioni relative e associarlo ai set)
In pratica: come posso visualizzare la pagina del prodotto e della categoria nel back-end?
Il pulsante deve essere rimosso se il prodotto non è commerciabile nel paese del cliente, quando l'amministratore crea/modifica il prodotto può selezionare i paesi consentiti o meno, quindi penso che un attributo sì/no non è un'opzione disponibile . – Razorphyn
È possibile impostare l'attributo come testo, quindi l'amministratore può impostare i codici paese come: EN, DE, CH ecc. (Separati da virgola). Dopodiché, al secondo passaggio, puoi prendere il codice del paese cliente, controllare che questo codice sia presente nell'attributo e impostare il risultato in Mage :: registry ('hide_button') in modo che si nasconderà il pulsante per i codici paese. Inoltre puoi ottenere il Paese dall'indirizzo del cliente se ha effettuato l'accesso. – ToxaBes
Mmmhhhhh Non sono sicuro, mi manca un passaggio ... sarebbe utile se posso aggiungere una classe ai prodotti non commerciabili e quindi selezionare con js, altrimenti non riesco a distinguere tra disponibile e non, inoltre non sono sicuro che il pulsante abbia la classe 'btn-cart' – Razorphyn