Quelle est la meilleure stratégie pour intégrer WordPress à l'intérieur de Magento?


22

Je recherche le meilleur moyen d'intégrer WordPress à l'intérieur de Magento.

J'aimerais d'abord que WordPress utilise l'en-tête et le pied de page de Magento.

Deuxièmement, j'aimerais qu'il soit possible pour un utilisateur de rechercher sur Magento et WordPress en même temps. Et ne soyez pas coincé. Devoir rechercher l'entrée.

Réponses:


14

Ça dépend. Vous avez le choix:

Si vous utilisez le module Fishpig (qui est un bon module), vous pouvez utiliser http://www.magentocommerce.com/magento-connect/mage-wordpress-integrated-search-4394.html

La dernière solution consiste à développer votre propre intégration WordPress sur Magento :)


Yah ... j'ai des ennuis. Je n'ai qu'une semaine. : \
jnbdz

Mon problème avec ce module de Fichpig est que je ne suis pas sûr qu'il fonctionne pour un blog WordPress multilingue. Je ne suis donc pas sûr que cela fonctionnera avec ceci: codex.wordpress.org/Create_A_Network
jnbdz

Vous pouvez utiliser WordPress Multisites et les intégrer dans Magento avec l'extension FishPig Multisite - fishpig.co.uk/magento/wordpress-integration/multisite
Ben Tideswell

Existe-t-il un module grâce auquel je peux intégrer wordpress de manière à ce que les clients de ma boutique puissent commenter un forum créé par wordpress sans se connecter à wordpress?
Jnanaranjan

24

J'ai utilisé le module Fishpig sur une multitude de sites, j'ai acheté les plugins payants et je le fais depuis des années avec plaisir. Cependant, je ne l'utilise plus. Il fait ce qu'il fait bien, mais il exécute tout via Magento.

Avouons-le, le client jette un coup d'œil sur un site Wordpress et commence soudain à devenir créatif. 'Nous pouvons le faire dans Wordpress!', 'Nous pouvons le faire dans l'installation de Wordpress!'. Vous devez continuer à leur expliquer que normalement, oui, c'est facile à faire dans Wordpress .... mais que leur installation Wordpress n'est pas normale car tout fonctionne à travers le Magento lui-même et cela change tout.

Donc, votre banque de widgets Wordpress personnalisés ne fonctionnera pas, les plugins Wordpress tiers ne fonctionneront pas. Les thèmes et les options de thème ne fonctionneront pas. À moins que vous ne fassiez beaucoup de travail pour les convertir et les assimiler dans le module Fishpig.

Une bien meilleure approche à mon avis est de suivre la voie de James Kemp ( http://wordpress.org/plugins/magento-wordpress-integration/ ) ou de Richard Feraro ( http://wordpress.org/plugins/mage-enabler / ). Ils adoptent tous les deux la même approche, vous permettant d'accéder à l'objet Mage à partir de Wordpress et de tirer tout ce que vous voulez de Magento dans votre thème Wordpress. Si vous regardez les plugins, ils sont très simples et n'impliquent pas beaucoup de code.

Ils nécessitent tous deux une modification app/code/local/Mage/Core/functions.phpcar Wordpress et Magento ont une function __()méthode déclarée. Il y a des notes détaillées à ce sujet sur les deux sites des auteurs de plugins et c'est très facile. Après cela, vous pouvez rester coincé.

C'est tellement simple, voici un exemple d'utilisation du plugin James Kemp. Vous pouvez avoir un thème Wordpress dépouillé avec un header.phpsimilaire;

<!DOCTYPE html>
<html class="no-js">
<head>
    <?php the_block("head"); ?>
    <?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>

Ce qui tire tout votre bloc de tête Magento dans l'en-tête Wordpress. Parfait, pas de duplication, pas de travail supplémentaire. Remarque J'ai ajouté wp_head()parce que si vous ajoutez des plugins Wordpress, ils peuvent potentiellement l'utiliser comme hook et c'est une bonne pratique de l'avoir dans votre header.phpfichier Wordpress .

Il en va de même pour footer.php;

    <?php the_block("footer"); ?>
    <?php wp_footer(); ?>

  </body>
</html>

Et il y a votre bloc de pied de page Magento dans Wordpress. Le reste dépend de vous, mais vous avez la liberté d'ajouter autant de choses supplémentaires dans votre installation Wordpress que vous le souhaitez sans aucune contrainte.

Edit - 14 mai

Depuis que j'ai écrit ceci, j'ai également commencé à utiliser Wordpress comme CMS et à récupérer des données dans Magento en utilisant ce plugin Wordpress - plugin API JSON http://wordpress.org/plugins/json-api/

Pour vous donner un exemple de code - le code ci-dessous extrait les entrées requises dans Wordpress pour un type de message personnalisé appelé événement, accède à un champ personnalisé dans ces messages appelé eventdate les met tous dans un tableau, le trie par date et génère une liste de tous les événements avec un lien vers chaque page d'événement dans l'installation de Wordpress. Je l'ai utilisé dans la navigation principale d'un site Magento dans une liste déroulante, cela fonctionne très bien. Wordpress devrait avoir une API JSON ajoutée au noyau, mais pour l'instant, elle n'a pas été publiée.

<ul>
    <?php 

    $events = json_decode(file_get_contents('http://www.example.com/blog/?json=get_posts&post_type=event'));

    $eventList = array();

    foreach ( $events->posts as $event_item ) :

        $arrayDate = date("ymdHi", strtotime($event_item->custom_fields->eventdate[0] ));

        $eventList[$arrayDate]['Title'] = $event_item->title;
        $eventList[$arrayDate]['Date'] = date('l jS F', strtotime($event_item->custom_fields->eventdate[0] ));
        $eventList[$arrayDate]['Link'] = $event_item->url;


    endforeach; 

    // Key reverse sort to get events in date order
    ksort($eventList);

    foreach ($eventList as $eventItem) : 

        echo '<li><a href="'. $eventItem['Link'] .'">'. $eventItem['Title'] .' - '. $eventItem['Date'] .'</a></li>';

    endforeach;     

    ?>
</ul>

Modifier - 15 octobre

J'ai récemment dû essayer d'utiliser cette méthode d'intégration dans un magasin multiple qui utilisait les mêmes sous-répertoires de code de pays que dans cette question de Matthias Zeis;

Différentes vues de magasin ou sites Web dans des sous-dossiers

J'ai envisagé d'essayer l'extension multiboutique Fishpig pour cela, mais j'ai finalement posé une question sur SO -> /programming/32613815/htaccess-wordpress-under-magento-site-with-multi-language- sous-répertoires

J'ai mis la réponse là-haut, il utilise des variables d'environnement de serveur et certains filtres Wordpress. J'ai également ajouté les blocs serveur .htaccess et Nginx pour vous aider.

Aussi, pour quiconque déploie son site Magento en utilisant Capistrano et frissonne à la perspective d'avoir le noyau et les plugins Wordpress constamment mis à jour polluant leur repo, j'ai écrit un article de blog montrant comment vous pouvez simplement déplacer le tout dans le répertoire partagé de Capistrano 3 et avoir seulement votre thème Wordpress dans le repo;

http://www.mcnab.co/blog/wordpress-git-and-capistrano-v3/


Lequel des plugins WordPress que vous proposez utilisez-vous le plus? Mon Magento est également en plusieurs langues.
jnbdz

1
c'est une excellente réponse car vous rencontrez les avantages et les inconvénients relatifs de l'utilisation de Fishpig par rapport au plugin Kemp, etc. J'ai utilisé ce dernier plusieurs fois et ça marche vraiment bien. Fishpig est bon pour sa puissance si vous avez le budget pour acheter les fonctionnalités supplémentaires.
Luke Barker

1
@McNab meilleur conseil que j'ai jamais reçu sur stackexchange .. merci
s_h

1
@s_h - le meilleur commentaire que j'ai jamais reçu sur stackexchange! Santé :)
McNab

1
@JamesKemp - merci pour le plugin! Cela m'a beaucoup facilité la vie en ce qui concerne l'intégration des deux systèmes. À votre santé.
McNab



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.