◄ Помощь ► Magento 2

подскажите плыз в чем проблема устанавливал 2,2,2 и Magento-EE-2.2.1-2017-11-05-07-32-31 получаю в админке вот такую ерунду кнопок нет да они и не работают настройки не сохраняются как заставить ее работать?
8eyNvbiM.png

нашел на одном из форумов описание причины
Вам надо настроить права на самом веб сервере, чтобы пользователь, под которым работает веб сайт, имел права создавать файлы и папки.

То, что вы показали выше - выдача прав на уже созданные папки и файлы. Возможно это и решит проблему, но это не совсем корректно.

Как именно сделать это на вашем сервере знает только тот, кто настраивал вам хостинг.



Вот отсюда можно начать копать

Для просмотра ссылки Войди или Зарегистрируйся

но вот только не понятно как решить эту проблему на хостинге hostinger.com.ua?
 
Последнее редактирование:
Привет! Подскажите, пожалуйста, новая мулька Advanced Reporting работает только с платной подпиской (включил, а изменений никаких)? Если да, то как это убрать, чтобы не маячила?

Пишут, что "...Advanced Reporting is a free, cloud-based service that is powered by Magento Business Intelligence.
For technical information, see Advanced Reporting in our developer documentation".

Для просмотра ссылки Войди или Зарегистрируйся
Оказалось нужно подождать сутки. Потом при нажатии на "Advanced Reporting", перебрасывает на их страницу с расширенной отчётностью.
 

Вложения

  • Снимок.PNG
    Снимок.PNG
    36,9 KB · Просмотры: 6
Последнее редактирование модератором:
Привет! Подскажите, пожалуйста, новая мулька Advanced Reporting работает только с платной подпиской (включил, а изменений никаких)? Если да, то как это убрать, чтобы не маячила?
Пишут, что "...Advanced Reporting is a free, cloud-based service that is powered by Magento Business Intelligence.
For technical information, see Advanced Reporting in our developer documentation".

Для просмотра ссылки Войди или Зарегистрируйся

подскажите плыз в чем проблема устанавливал 2,2,2 и Magento-EE-2.2.1-2017-11-05-07-32-31 получаю в админке вот такую ерунду кнопок нет да они и не работают настройки не сохраняются как заставить ее работать?
8eyNvbiM.png

нашел на одном из форумов описание причины
Вам надо настроить права на самом веб сервере, чтобы пользователь, под которым работает веб сайт, имел права создавать файлы и папки.

То, что вы показали выше - выдача прав на уже созданные папки и файлы. Возможно это и решит проблему, но это не совсем корректно.

Как именно сделать это на вашем сервере знает только тот, кто настраивал вам хостинг.



Вот отсюда можно начать копать

Для просмотра ссылки Войди или Зарегистрируйся

но вот только не понятно как решить эту проблему на хостинге hostinger.com.ua?
Должна помочь перегенерация статического контента:

Код:
php bin/magento setup:static-content:deploy -f
 
Последнее редактирование модератором:
Сторонние модули авторизации покупателей могут не работать с Magento 2.2.2

Различные Social Login'ы могут выдавать ошибку или "зависать" при создании нового аккаунта покупателя.
С версии 2.2.2 в составе Мадженты идет сторонний модуль Dotmailer. У него есть плагин Dotdigitalgroup\Email\Plugin\CustomerPlugin с методом aroundSendNewAccountEmail - он вмешивается в процесс отправки пользователю письма-подтверждения о регистрации и проверяет собственную настройку "Disable Customer Success".

Проблема в том, что в оригинальном маджентовском классе \Magento\Customer\Model\Customer у параметров метода sendNewAccountEmail заданы значения по умолчанию:
Код:
public function sendNewAccountEmail($type = 'registered', $backUrl = '', $storeId = '0')

А в Dotdigitalgroup\Email\Plugin\CustomerPlugin значений по умолчанию нет:
Код:
public function aroundSendNewAccountEmail(
        \Magento\Customer\Model\Customer $customer,
        callable $proceed,
        $type,
        $backUrl,
        $storeId
    )

Если модуль Social Login (или любой другой) создавая новый аккаунт покупателя передают неполный набор параметров, то маджента дополнит их дефолтными значениями, а Dotmailer - значением NULL. Однако для метода around совпадение количества и типов аргументов с переопределяемым методом является обязательным, поэтому возникает ошибка.

Решение 1. Грубое.

Отключить модуль Dotmailer.

Решение 2. Простое и глупое.

В файле \vendor\dotmailer\dotmailer-magento2-extension\Plugin\CustomerPlugin.php
заменить (строки 36-40:(
Код:
public function aroundSendNewAccountEmail(
        \Magento\Customer\Model\Customer $customer,
        callable $proceed,
        $type,
        $backUrl,
        $storeId
    ) {
на:

Код:
public function aroundSendNewAccountEmail(
        \Magento\Customer\Model\Customer $customer,
        callable $proceed,
        $type = 'registered',
        $backUrl = '',  /** две одинарных кавычки */
        $storeId = '0'
    ) {

Глупое - не только потому, что при обновлении Мадженты этот файл перезапишется, а еще и потому, что не очень умно не отключать модуль Дотмэйлер не имея подписки этого сервиса. Есть подписка? Тогда еще глупее экономить на программисте, когда можешь платить за рассылки от 300$ в месяц!

Решение 3. Правильное.


1. Создаем свой модуль.
2. В app/code/MyVendor/MyModule/etc/di.xml вставляем:
Код:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Dotdigitalgroup\Email\Plugin\CustomerPlugin" type="MyVendor\MyModule\Plugin\Dotdigitalgroup\Email\CustomerPlugin" />
</config>

3. В app/code/MyVendor/MyModule/Plugin/Dotdigitalgroup/Email/CustomerPlugin.php вставляем:
Код:
<?php

namespace MyVendor\MyModule\Plugin\Dotdigitalgroup\Email;

/**
* Disable customer email depending on settings value.
*/
class CustomerPlugin
{
    /**
     * @var \Magento\Framework\App\Config\ScopeConfigInterface
     */
    public $scopeConfig;

    /**
     * CustomerPlugin constructor.
     * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
     */
    public function __construct(
        \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
    ) {
        $this->scopeConfig = $scopeConfig;
    }

    /**
     * @param \Magento\Customer\Model\Customer $customer
     * @param callable $proceed
     * @param string $type
     * @param string $backUrl
     * @param string $storeId
     *
     * @return mixed
     */
    public function aroundSendNewAccountEmail(
        \Magento\Customer\Model\Customer $customer,
        callable $proceed,
        $type = 'registered',
        $backUrl = '', /** две одинарных кавычки */
        $storeId = '0'
    ) {
        $storeId = $customer->getStoreId();

        if (! $this->scopeConfig->getValue(
            \Dotdigitalgroup\Email\Helper\Config::XML_PATH_CONNECTOR_DISABLE_CUSTOMER_SUCCESS,
            'store',
            $storeId
        )
        ) {
            return $proceed($type, $backUrl, $storeId);
        }
    }
}
4. php bin/magento setup:upgrade

5. php bin/magento setup:static-content:deploy -f
 
В продолжение темы социальных логинов.

Ошибка за/разлогинивания на странице Checkout

Иногда при попытке войти/выйти в аккаунт на странице чекаута вылетает ошибка:
Код:
{"0":"Warning: session_regenerate_id(): Session object destruction failed.  ID: user (path: \/home\/mysite.local\/public_html\/var\/session\/) in \\home\\mysite.local\\public_html\\vendor\\magento\\framework\\Session\\SessionManager.php on line 334","1":"#0 [internal function]: Magento\\Framework\\App\\ErrorHandler->handler(2, 'session_regener...', '\\\\home...', 334, Array)\n#1..............

Присуща версиям Мадженты, вышедшим после 15 сентября 2017 года. В том коммите был переписан код метода Magento\Framework\Session\SessionManager::regenerateId().
Решение проблемы: вернуть прежний код.
Выглядел он вот так:
Код:
    /**
     * Renew session id and update session cookie
     *
     * @return $this
     */
    public function regenerateId()
    {
        if (headers_sent()) {
            return $this;
        }
        if ($this->isSessionExists()) {
            session_regenerate_id(false);
        } else {
            session_start();
        }
        $this->storage->init(isset($_SESSION) ? $_SESSION : []);

        if ($this->sessionConfig->getUseCookies()) {
            $this->clearSubDomainSessionCookie();
        }
        return $this;
    }

Способ 1. Топорный

Заменить метод прямо в коде ядра (начинается с 500-ой строки) и ждать новых версий.

Способ 2. Забывчивый

Написать плагин с методом aroundRegenerateId(), куда вставить прежний код и не передавать вызов оригинальному методу. Забыть удалить плагин, когда выйдет новая версия Мадженты.
 
Собственно вопрос к тем кто разбирается, что выбрать, сборку или оригинальную версию Magento 2?

Какие популярные сборки есть на рынке сегодня?
 
Собственно вопрос к тем кто разбирается, что выбрать, сборку или оригинальную версию Magento 2?
Какие популярные сборки есть на рынке сегодня?
нет никаких сборок кроме СЕ и ЕЕ версий,
конфигурируете под конкретную задачу
от простого онлайн магазина до полноценной многофункциональной автоматированной платформы
главное правильно описанная задача
 
нет никаких сборок кроме СЕ и ЕЕ версий,
Как нет, есть, например
Для просмотра ссылки Войди или Зарегистрируйся

Они влезли в исходники - это уже и есть сборка, что они там сделали что добавили также описано у них на форуме... Некоторые говорят что не стоит брать их сборку так как часть модулей сразу перестанет работать из маркетплейса...
 
Как нет, есть, например
Для просмотра ссылки Войди или Зарегистрируйся

Они влезли в исходники - это уже и есть сборка, что они там сделали что добавили также описано у них на форуме... Некоторые говорят что не стоит брать их сборку так как часть модулей сразу перестанет работать из маркетплейса...

Это не сборка - это фекалии человека с психическим расстройством. Осторожно, не вступите!
 
Как нет, есть, например
Для просмотра ссылки Войди или Зарегистрируйся

Они влезли в исходники - это уже и есть сборка, что они там сделали что добавили также описано у них на форуме... Некоторые говорят что не стоит брать их сборку так как часть модулей сразу перестанет работать из маркетплейса...
если не ошибаюсь в этой сборке есть скрытый под ионкубом код
и если не хотите зависеть от обновлений неофициальной разработки
не советую использовать подобное
точнее и конкретней ответил
Это не сборка - это фекалии человека с психическим расстройством. Осторожно, не вступите!
 
Последнее редактирование:
Назад
Сверху