Какова лучшая стратегия для интеграции WordPress внутри Magento?

22

Я ищу лучший способ интеграции WordPress внутри Magento.

Сначала я бы хотел, чтобы WordPress использовал верхний и нижний колонтитулы Magento.

Во-вторых, я хотел бы, чтобы пользователь мог одновременно выполнять поиск в Magento и WordPress. И не застрять. Необходимость поиска ввода.

jnbdz
источник

Ответы:

14

Это зависит. У вас есть выбор:

Если вы используете модуль Fishpig (который является хорошим модулем), вы можете использовать http://www.magentocommerce.com/magento-connect/mage-wordpress-integrated-search-4394.html

Новейшее решение - разработать собственную интеграцию с WordPress на Magento :)

Жак Бодин-Халлин
источник
Да ... У меня проблемы. У меня есть только неделя. : \
jnbdz
Моя проблема с этим модулем Fichpig в том, что я не уверен, что он работает для мультиязычного блога WordPress. Так что я не уверен, что это будет работать с этим: codex.wordpress.org/Create_A_Network
jnbdz
Вы можете использовать WordPress Multisites и интегрировать их в Magento с расширением FishPig Multisite
Бен Тидесвелл
Есть ли какой-нибудь модуль, с помощью которого я могу интегрировать WordPress таким образом, чтобы клиенты моего магазина могли комментировать форум, созданный WordPress без входа в WordPress?
Джнанаранджан
24

Я использовал модуль Fishpig на множестве сайтов, купил платные плагины и успешно продвигаю его в течение многих лет. Тем не менее, я не использую его больше. Он делает то, что он делает хорошо, но он делает все через Magento.

Посмотрим правде в глаза, клиент смотрит на сайт Wordpress и вдруг начинает проявлять креативность. «Мы можем сделать это в Wordpress!», «Мы можем сделать это в установке Wordpress!». Вы должны продолжать объяснять им, что обычно, да, это легко сделать в Wordpress .... но что их установка Wordpress не нормальна, поскольку она все работает через сам Magento, и это все меняет.

Таким образом, ваш банк пользовательских виджетов Wordpress не будет работать, сторонние плагины Wordpress не будут работать. Темы и опции темы не будут работать. Если вы не выполняете большую часть работы, конвертируя и ассимилируя их в модуль Fishpig.

На мой взгляд, гораздо лучший подход - пойти по пути Джеймса Кемпа ( http://wordpress.org/plugins/magento-wordpress-integration/ ) или Ричарда Фераро ( http://wordpress.org/plugins/mage-enabler). / ). Они оба используют один и тот же подход, позволяя вам получить доступ к объекту Mage из Wordpress и перетащить все, что вы хотите из Magento, в свою тему Wordpress. Если вы посмотрите на плагины, они очень просты и не содержат много кода.

Они оба требуют модификации, так app/code/local/Mage/Core/functions.phpкак и в Wordpress, и в Magento function __()объявлен метод. На обоих сайтах авторов плагинов есть подробные заметки, и это очень просто. После этого вы можете застрять.

Это так просто, вот пример использования плагина Джеймса Кемпа. Вы можете иметь урезанную тему Wordpress с header.phpподобным;

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

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

Который тянет весь ваш головной блок Magento в заголовок Wordpress. Отлично, без дублирования, без дополнительной работы. Примечание, которое я добавил, wp_head()потому что, если вы добавите плагины Wordpress, они потенциально будут использовать это как ловушку, и это хорошая практика, чтобы иметь это в вашем header.phpфайле Wordpress .

То же самое касается footer.php;

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

  </body>
</html>

И есть ваш блок нижнего колонтитула Magento в Wordpress. Остальное зависит от вас, но вы можете свободно добавлять в свою установку Wordpress столько всего, сколько захотите, без каких-либо ограничений.

Редактировать - 14 мая

С тех пор как я написал это, я также начал использовать Wordpress в качестве CMS и извлекать данные обратно в Magento с помощью этого плагина Wordpress - плагина JSON API http://wordpress.org/plugins/json-api/

Чтобы дать вам пример кода - приведенный ниже код извлекает необходимые записи в Wordpress для настраиваемого типа записи, называемого событием, обращается к настраиваемому полю в этих публикациях, называемому eventdate, помещает их все в массив, сортирует их по дате и выводит список всех события со ссылкой на каждую страницу события в Wordpress установить. Я использовал его в главной навигации сайта Magento в выпадающем списке, он работает очень хорошо. В Wordpress должен быть добавлен JSON API к ядру, но пока он не выпущен.

<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>

Изменить - 15 октября

Недавно мне пришлось попробовать и использовать этот метод интеграции в мультимагазине, который использовал те же подкаталоги с кодами стран, что и в этом вопросе Матиаса Цейса;

Различные виды магазина или веб-сайты в подпапках

Я действительно пытался попробовать расширение для нескольких магазинов Fishpig для этого, но в конце я задал вопрос по SO -> /programming/32613815/htaccess-wordpress-under-magento-site-with-multi-language- подсправочники

Я поставил ответ там, он использует переменные среды сервера и некоторые фильтры Wordpress. Я также добавил блоки серверов .htaccess и Nginx, чтобы помочь.

Кроме того, для тех, кто развертывает свой сайт Magento с использованием Capistrano и дрожит, имея в виду постоянно обновляющееся ядро ​​Wordpress и плагины, загрязняющие их репо, я написал сообщение в блоге, показывающее, как вы можете просто переместить всю партию в общий каталог в Capistrano 3 и только ваша тема Wordpress в репо;

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

McNab
источник
Какие из плагинов WordPress, которые вы предлагаете, используете чаще всего? Также мой Magento на нескольких языках.
13
1
Это отличный ответ, когда вы познакомитесь с преимуществами и недостатками использования Fishpig против плагина Kemp и так далее. Я использовал последний несколько раз, и он работает очень хорошо. Fishpig хорош тем, что обладает мощью, если у вас есть бюджет, чтобы купить дополнительные функции.
Люк Баркер
1
@MCNab лучший совет, который я когда-либо получал на stackexchange .. спасибо
s_h
1
@s_h - лучший комментарий, который я когда-либо получал на stackexchange! Приветствия :)
Макнаб
1
@JamesKemp - спасибо за плагин! Сделал мою жизнь намного проще, когда дело дошло до интеграции двух систем. Приветствия.
Макнаб
5

Расширение интеграции WordPress от Fishpig. Это бесплатно, хорошо работает, интегрирует тему. Не интегрирует поиск. Но это лучший метод интеграции, который мы знаем.

MageMojo Magento Хостинг
источник
Но работает ли он с несколькими языками? Мульти-сайт ...
jnbdz
Теперь вы можете интегрировать поиск также: fishpig.co.uk/magento/wordpress-integration/integrated-search
Бен Тидесвелл
2

Существует бесплатный плагин Magento, который позволяет вам использовать контент, созданный с помощью WordPress, внутри вашего дизайна Magento. Это позволяет вам использовать возможности блога и контента Wordpress внутри вашего магазина. Я не знаю, если поиск также в содержании WordPress. См. Http://www.magentocommerce.com/magento-connect/wordpress-integration.html для получения дополнительной информации.

Владимир Керхофф
источник