2012-08-30 9 views
22

Questa è stata una cosa su cui ho cercato di lavorare per molto tempo. In primo luogo è iniziato con Prestashop come integrazione con altri script o pezzi del puzzle che dovevo creare per un sito web globale. Attualmente sto ancora usando Prestashop come mio webstore ma da allora sono passato a Magento.Utilizzo di Magento come principale e creazione di un unico accesso per l'integrazione con altri software di terze parti

Sono passato a Magento per via della sua flessibilità complessa e, in generale, penso che sia la soluzione migliore, il miglior supporto e il miglior script di eCommerce con cui andare.

Detto questo, gli stessi problemi che avevo con Prestashop sembrano essere gli stessi continuerò ad avere qualsiasi aspetto in cui tento di integrare le cose insieme in perfetta armonia.

Ho installato Magento, come la parte principale del sito Web, e all'interno di Magento nelle sottocartelle ho Wordpress installato in una cartella chiamata "articoli" e sono anche andato con FluxBB come forum dei messaggi a causa della sua semplicità in non avendo un sacco di cose in più che non mi importava di più e che si trova in una sottocartella chiamata "forum".

Da questo punto, sappiamo che Magento, Wordpress e FluxBB hanno tutti il ​​proprio modo di gestire gli utenti; creando, gestendo e rintracciandoli.

Quello che voglio fare è trovare il modo migliore per adattarsi a questi tre e più insieme per il mio sito Web per rendere l'esperienza per il cliente il più agevole e il più funzionale possibile. Dopo aver inviato per e-mail il sempre talentuoso e utile Alan Storm, mi ha detto che la soluzione migliore a cui era a conoscenza era quella di creare una gestione utenti di terze parti a cui tutti puntassero e gestisce l'autenticazione dei clienti. Credo che i suoi pensieri potrebbero essere i migliori, ma volevo metterlo qui su StackOverFlow e potrei postarlo anche su Magento per ottenere l'ampia gamma di sviluppatori di Magento e di ragazzi intelligenti che amano le sfide.

Ho diversi pensieri, nessuno può funzionare, alcuni possono funzionare a metà asino, o uno può essere solo qualcosa di lavorabile. Ma prima lascia che ti dica cosa ho realizzato fino ad ora. Ho fatto i passi necessari per integrare la mia progettazione generale per l'intestazione e il piè di pagina, quindi essenzialmente Wordpress e FluxBB sono avvolti e sono contenuti all'interno del livello di progettazione esterno di Magento. Quindi, detto questo, l'ho fatto anche dove Magento controllerà la sessione per vedere se l'utente è connesso a Magento o meno dicendo "Hello Guest" o "Hello User". Questo è il punto in cui ho raggiunto un punto di arresto perché sono fuori dalla mia profondità e vorrei ricevere assistenza, sia che creiamo insieme per pura sfida o qualcuno dice che se li pago mi aiuteranno, in entrambi i casi mi piacerebbe questo compiuto. Se e quando avrò capito il codice, se per mezzo di un pagamento per l'assistenza di uno sforzo di gruppo vorrei renderlo liberamente disponibile per gli altri a utilizzare il concetto per i propri progetti.


Cervello Fart # 1:

Regolare le tabelle utente sia per Wordpress e FluxBB a conformarsi più alla struttura di Magento, come per la password e username/email porzione di accesso. Il resto dei campi può rimanere come sono per i conteggi dei post, ecc.

Da lì, vorrei capire quale classe in Magento fa l'input effettivo nel database quando un cliente viene creato fuori dalla registrazione . Quando trovo quel codice, vorrei estendere su di esso la possibilità di copiare le credenziali dell'utente nelle altre due tabelle nel database per Wordpress e FluxBB. Se necessario, può essere solo un paio di campi aggiunti a Wordpress e FluxBB se ciò sembra un'idea migliore e sì, intendo la vera password crittografata creata da Magento, voglio anche che sia sicura.

Da lì, quando sappiamo che un cliente si registra con Magento, i dati vengono copiati sulle altre due tabelle, quindi abbiamo almeno fatto progressi, se questo progresso funzionerà effettivamente, è ancora da determinare.

Quindi disattiviamo i collegamenti di login/logout e registrazione in qualsiasi modo che possiamo da Wordpress e FluxBB perché non saranno più necessari perché vogliamo che l'utente si registri, acceda e faccia logout attraverso una posizione che è Magento.

Poi arriva la parte divertente nei miei occhi, mantenere la dannata sessione in corso in tutto il sito Web come ordinare prodotti, rivedere articoli wordpress e possibilmente lasciare commenti, inviare ad amici ed ecc .... così come postare argomenti, risposte ed ecc. nella capacità FluxBB.

Per me è qui che entra in gioco la creazione dei campi o l'aggiunta dei dati dalla registrazione del cliente Magento, posso verificarlo per vedere se sono già collegati a Magento e da lì potremmo essere in grado di farlo validare si. Questo potrebbe essere sopra uccidere o questo potrebbe essere solo come deve essere fatto. Ma se le credenziali si trovano in tutti e tre i database, dovrebbero essere in grado di essere convalidati modificando il codice in Wordpress e FluxBB o aggiungendo il codice. E sì, sono consapevole del fatto che dovremo anche fare qualcosa per la modifica del profilo e la modifica della password se un cliente desidera modificare le proprie informazioni.

Ma questo è il mio primo pensiero su questo se è la decisione giusta o meno, vorrei sentire dalla vasta conoscenza delle persone qui che hanno più esperienza e conoscenza di Magento, PHP e tutto il resto.


Cervello Fart # 2

Questa idea illogico sembra un tratto di fuori del tutto per me a causa della complessità di Magento e come è messa a punto generale.

Ma l'idea è di rimuovere/modificare Wordpress e FluxBB (e qualsiasi altro software di terze parti) per ignorare praticamente il proprio metodo di registrazione, login, logout, modifica e guardare a Magento per le sue credenziali e stabilire nuovi clienti . Essenzialmente li rende un modulo sovradimensionato di Magento.

So solo che il modo in cui Magento è configurato deve essere modulizzato e la sua complessità sembra richiedere molto più codice e risoluzione dei problemi per farlo.


Cervello Fart # 3

Dump sia Wordpress e FluxBB e guardare verso moduli Store Connection Magento che ha praticamente tutte le funzionalità di cui ho bisogno e posso aggiungere a loro ciò che manca e non scherzare con il tentativo di integrare software di terze parti.

Amo Wordpress, penso di replicarlo con un modulo, almeno dopo che le ore trascorse a guardare tutti i moduli disponibili su CMS/Notizie sono una chiamata difficile. FluxBB Potrei prenderlo o lasciarlo, se qualcuno avesse già una soluzione valida per usare phpBB o vBulletin o SimpleMachines, andrei con loro. Preferisco essere un software open source gratuito, non perché sono uno skate economico, ma solo perché supporto l'open source il più possibile.


Cervello Fart # 4

può questo essere un cookie questo, ma sarebbe solo efficace se essi consentono i cookie, o potesse in qualche modo addon per la sessione per consentire cose di passare attraverso, ma insiemi di Magento organizza sessioni diverse o ti consente anche di fare in modo che le cose si mettano a sbattere l'una contro l'altra, quindi potrebbe non essere affatto un'idea o potrebbe esserlo.


So che non sto dando esempi di cose che ho provato, i file che hanno guardato o qualsiasi cosa che riguarda questo e me ne scuso, fornisco alcuni link correlati, ma nulla di specificamente trovato finora che corrisponde a ciò che io sono cercando di realizzare. E ho cercato di unire le cose insieme con alcuni divertenti risultati disastrosi.

Esempi di collegamento ?: http://www.magentocommerce.com/wiki/doc/webservices-api/api/customer#customer.create http://www.magentogarden.com/blog/how-are-passwords-encrypted-in-magento.html http://www.nicksays.co.uk/magento_events_cheat_sheet/ http://www.magentocommerce.com/wiki/5_-_modules_and_development/customers_and_accounts/registration_fields How to access Magento customer's session from outside Magento?

Qualsiasi aiuto con questo sarebbe bello, sto cercando di lavorare su più parti del sito web in una sola volta e questo è fastidioso e direi che tutti lo troveranno difficile o lo avranno trovato difficile. Qualcuno come le sfide? :)

--------- EDIT:

ho avuto Magento e Wordpress per funzionare perfettamente insieme al modulo di James Kemp trovato sul sito web di CodeCanyon (Single Sign-On per Magento e Wordpress) e Ho intenzione di adattarlo per funzionare per FluxBB o qualsiasi altra cosa che faccio.

Basta passare le informazioni ... Vedo che è stato modificato, non so cosa è stato modificato e non interessa. Solo passando informazioni che ho trovato da quando ho postato questo.

+2

Questo è un romanzo di una domanda: se scrivi mai un post di blog ovunque sui tuoi progressi, per favore pubblica un link qui! – aendrew

+0

Molto interessante vedere come hai lavorato. Stavamo parlando di come fare questo (solo tra wp e Magento) un po 'di tempo al lavoro e non abbiamo davvero trovato una soluzione. Dovrò passare questo. Grazie! – levigideon

+1

http://en.wikipedia.org/wiki/Single_sign-on Ecco perché OpenID e Facebook connect sono stati creati per aiutare a risolvere lo stesso problema, ma su scala più ampia. – B00MER

risposta

1

Sto gestendo/personalizzando una combo di magento + forum di vaniglia + un'app personalizzata realizzata nel framework Yii. Gli utenti sono "condivisi" tra le app. Nessuno dei due collegamenti è buono. Come già Alan ti ha risposto, l'SSO corretto sarà con un database/gestore utenti esterno. Ma beh, non tutti sono in grado di ricodificare tre app solo per ottenere 1 forum a settimana e 1 articolo al mese per lavorare con Magento. Quindi rimaniamo con meno opzioni. Prima di tutto, se non vuoi (molto probabilmente non) riscrivere buona parte del progetto open source già scritto che viene aggiornato e mantenuto e quindi mantenere le tue modifiche rispetto agli aggiornamenti periodici (li vuoi), allora devi duplicare i dati dell'utente su tre database. A meno che il progetto che si adatta abbia un modo per gestire i dati degli utenti come plugin o modulo esterno. AFAIK, a tua scelta, no.

Quindi, come implementarlo? Supponendo che tu scelga Magento come madre di tutti, ne hai bisogno per esportare un'API per l'autenticazione, che può funzionare su browser usando i cookie e javascript, ma questo è piuttosto complicato, oppure puoi usare il suo cookie di frontend per convalidare le sessioni facendo server- richieste API del server da app per bambini. Questa è un'opzione preferita per quanto riguarda l'SSO "classico". Tecnicamente, cosa dovrebbe accadere quando i tuoi utenti aprono forum o blog, le rispettive app rilevano i cookie di Magento e controllano se la sessione è valida e chi è l'utente. Se l'utente viene trovato, i suoi dati vengono copiati nel blog o nelle tabelle del forum. Quindi è necessario avviare una sessione autenticata sul blog o sul forum utilizzando il record utente appena creato.

Fin qui tutto bene, ma ancora un po 'di lavoro.devi disabilitare la gestione dei profili utente nelle app per bambini o modificarla in modo che i dati contenuti in Magento siano sempre quelli corretti e devi inventare qualcosa per sincronizzare la rappresentazione di Magento del profilo utente verso i bambini. È meglio essere collegati agli eventi di Magento, così ogni volta che un utente cambia il suo profilo, i dati vengono aggiornati nell'app per bambini. Ma c'è un altro ma anche. Probabilmente vuoi mantenere alcune app specifiche per i dati, un nome visualizzato sul forum non è necessario il FirstName + LastName del Magento e alcuni vorrebbero mantenerlo privato.

Quanto sopra è proprio quello che posso ricordare come fatti interessanti su come mantenerlo in esecuzione. Ci sono sicuramente molte altre cose che ho lasciato fuori, più o meno specifiche. Ma spero che il mio commento possa aiutare il tuo cervello a scoreggiare.

Abbiamo provato a valutare altre opzioni, ma qualsiasi cosa senza dati duplicati sembra essere troppo costosa da implementare o da mantenere. Forse più tardi. Con budget e tempo.

Problemi correlati