Интеграция WordPress с magento - PullRequest
       3

Интеграция WordPress с magento

0 голосов
/ 17 августа 2010

Я пытаюсь интегрировать WordPress в установку magento, но продолжаю получать следующую ошибку при попытке включить

Неустранимая ошибка: невозможно повторно объявить __ ()

Полагаю, это потому, что и magento, и wordpress используют это.

Как я могу обойти это.

Я пробовал такие вещи, как:

if(!function_exists('__()')) {
    function __() {}
}

в файлах magento и wordpress, но это не имеет значения - если я не до конца понимаю, что он делает.

Есть какие-нибудь предложения об этом?

Ответы [ 3 ]

2 голосов
/ 10 декабря 2012

Вы можете изменить свой код WordPress. Это позволяет вам легко интегрировать WordPress и Magento. Я использовал SSH, чтобы попасть на сервер и зашел в каталог блогов. Затем я выполнил следующие команды:

grep -rl '__(' * | xargs sed -i 's/__(/__wp(/g'

Это позволило мне изменить все ссылки на функцию '_ ' на ' _wp' вместо этого без переопределения ошибок.

При использовании этого метода необходимо учитывать некоторые проблемы:

  1. Я хотел бы сохранить команды в файле для запуска после вас сделал любой тип установки или обновления, так как любой тип кода модификация в вашей системе может привести к ошибки.
  2. Я бы не рекомендовал использовать этот подход там, где у вас нет полного контроль над установкой WordPress. Вам действительно нужно иметь контроль над этим, чтобы убедиться, что вы не остановите сайт или что кто-то другой случайно не вызывает проблемы.

Мой метод улучшения:

  1. Перенаправить весь трафик с блога, используя (mod_rewrite)
  2. Выполнить обновление (я)
  3. Test
  4. Отключить перенаправления для повторного прохождения трафика

Это хорошо сработало для меня.

http://www.technickels.com/2012/12/wordpress-integration-with-magento/

2 голосов
/ 17 августа 2010

Измените это на:

if(!function_exists('__')) {
    function __() {}
}
1 голос
/ 17 августа 2010

Как уже говорилось, проблема возникает из-за того, что обе платформы определяют одну и ту же функцию (__()).Чтобы решить эти проблемы, вам нужно удалить одно из объявлений (или сделать его условным, как указано в списке).Если они оказываются идентичными функциями в обеих инфраструктурах, это нормально, но если один из них реализует функцию по-другому, вам нужно будет переместить одно из объявлений в другую функцию (т.е. __2()) и реорганизовать существующий код, чтобы указать наЭто.Это плохая идея.

На самом деле это хороший пример того, почему Wordpress и Magento не так тесно связаны друг с другом.Моим первым предложением обойти это было бы держать две кодовые базы на расстоянии вытянутой руки и использовать mod-rewrite, чтобы по возможности позаботиться об их интеграции.В противном случае и в зависимости от требований используйте Wordpress, установленный в другом месте, для управления публикациями и получения информации базы данных с помощью оболочки.

При изменении кодовых баз (например, при обновлении) объединение двух кодовых баз, вероятно, вызовет у вас многоэкзистенциальный страх.

Надеюсь, это поможет!

Спасибо, Джо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...