Magento 1.9 — как избавиться от вирусов

Избавиться от вирусни, которая не выводится даже с помощью обновления версии до последней можно поставив свежий движок последней версии и подключив его к существующей датабазе.

  1. !Прежде, чем что-либо начинать, составьте список всех установленных модулей и найдите их дистрибутивы. Часть может лежать в папке /downloader/.cache/community
  2. Закачать в корень дистрибутив Magento (версия должна совпадать с текущей версией установленной Magento). Например, ver 1.9.3.7 — https://magento.com/tech-resources/download#download2132
  3. Разархивировать его (все упадет в папку magento)
  4. Зайти на имя_сайта/magento, установить движок использовав владельца, имя и пароль существующей базы данных. https не испоьзовать, revrites использовать, урл на проверять.
  5. Поменять все права доступа на 755 для директорий и 644 для файлов.
  6. Скопировать в новую директорию:
    • файлы-идентификаторы счетчиков;
    • robots.txt;
    • sitemap;
    • favicon;
    • свои изменения в скине;
    • catalog/, wysiwyg/, slider/ из media/
  7. Модули ставятся не через админку, а напрямую распаковываются (те же версии, что и на старом) в новую директорию. Ибо в конфигурации прописано, что они уже стоят.
  8. После установки каждого модуля (чтобы он стал виден) обновить кэш, возможно выйти-войти в админку;
  9. !Все проверить на предмет идентичности со старым сайтом
  10. После обновления кеша в новой версии сайта админка старого сайта будет перекидывать в новый, а спустя некоторое время и браузер вместо старого сайта начнет подсовывать новый, так что действовать надо быстро
  11. В админке поменять secure и unsecure url на нормальный (без magento/)
  12. !После этого админка станет недоступна.
  13. Перенести все содержимое папки magento в корень сайта, а бывшие там ранее файлы перенести в папку, например, old, скачать себе на комп эту папку, а на сервере убить
  14. Обновить кэш
  15. Для предотвращения дальнейшего заражения поменять везде, где только можно пароли
Magento 1.9 — как убрать блоки со скидкой и расчетом доставки из корзины

Открываем имясайта/app/design/frontend/вашатема/default/layout/checkout.xml и закомментируем строки

block type="checkout/cart_coupon" name="checkout.cart.coupon" as="coupon" template="checkout/cart/coupon.phtml"/>
и
block type="checkout/cart_shipping" name="checkout.cart.shipping" as="shipping" template="checkout/cart/shipping.phtml"/>

Но, более правильный путь создать в папке вашатема (например, это rwd) папку для своих "заплаток", назовем ее, например, custom. И уже в ней создать подпапку layout, туда скопировать файл checkout.xml и там уже в нем комментить строки

При этом надо не забыть в админке Система-Конфигурация-Общие-Дизайн-Темы проставить во всех полях наше custom (а в Пакете стоит при этом rwd)

Да и не забыть почистить кэш

Magento 1.9 — не уходят письма о заказе

Из свежепоставленной Магенты не уходят письма о заказах, при этом уходят письма о регистрации и подписке.

Шаг №1 (настроить крон)

Идем в админку сервера, находим Планировщик, он же Cron и создаем в нем запись, типа

*/5 * * * * /bin/sh <абсолютный путь в файловой системе к magento>/cron.sh
У меня, в частности, это выглядит так -
sh www/имя_сайта/cron.sh
Звездочки означают: первая - запуск каждую минуту, вторая - каждого часа, третья - каждого дня, четвертая - каждого месяца и пятая - каждого дня недели. */5 означает, каждые пять минут. После настройки крона на сервере можно зайти к себе на сайт в админку и в Система > Конфигурация > Расширенные > Система > Cron поменять "Проверять необходимость запуска задач каждые" с 15 на 1 (имеются в виду минуты)

Если это не помогло или помогло частично, переходим к шагу №2

Шаг №2 (отсылать копии писем)

Идем в Система > Конфигурация > Продажи > Письма (emails) о заказах и вбиваем адрес магазина и, через запятую, любой, на который хотим получать копию. Метод отправки копии письма о заказе ставим "Скрытая копия (Всс)"

Если и тут что-то не идет, то шаг №3

Шаг №3 (копии писем отдельным письмом)

В Метод отправки копии письма о заказе ставим "Отдельный (другой) емейл", тогда в любом случае письма уходить будут, но в поле ОТ будет адрес магазина, а не покупателя

И, если все равно все плохо, отправляем письма минуя крон

Шаг №4 (обходим крон)

В файле имя_сайта/app/code/core/Mage/Core/Model/Email/Template/Mailer.php закомментировать строку ->setQueue($this->getQueue()). Вот так:

$emailTemplate->setDesignConfig(array('area' => 'frontend', 'store' => $this->getStoreId()))
                //->setQueue($this->getQueue())
                ->sendTransactional(
                    $this->getTemplateId(),
                    $this->getSender(),
                    $emailInfo->getToEmails(),
                    $emailInfo->getToNames(),
                    $this->getTemplateParams(),
                    $this->getStoreId()

Magento 1.9.3 — "Неверна модель сущности" (Invalid Entity Model)

Перестал работать экспорт товаров в csv — выдает сообщение "Неверна модель сущности"

Рецепт лечения здесь: http://www.commercers.com/blog/en/magento-ungueltiges-entity-model-bei-produkt-export/

Вкратце, алгоритм следующий:

1. Копируем файл Abstract.php из

app / code / core / Mage / ImportExport / Model / Export / Adapter /

в

app / code / local / Mage / ImportExport / Model / Export / Adapter /

(создаем эти каталоги. чтобы не трогать файлы ядра магенты, это, как бы, заплатка)

2. Меняем в файле Abstract.php (на новом уже месте) строку 69

$destination = tempnam(sys_get_temp_dir(), 'importexport_');

на

$destination = tempnam(Mage::getBaseDir() . '/var/tmp/' , 'importexport_');

Да, ну и удостовериться. что директория var/tmp/ существует

Back to top