четверг, 3 ноября 2016 г.

Установка Яндекс Метрики

Последнее время у меня был сторонний модуль Метрики для X-CART, честно купленный за 5 баксов, но после перехода на версию движка 5.3 он приказал долго жить (даже с конвертацией в twig), авторы его что то молчат, ну и ладно.

В папке   ваш скин\layout\footer создаем файл main.footer.metrika.twig, содержащий


{##
 # Yandex Metrika
 #
 # @ListChild (list="layout.main.footer", weight="2000")
 #}

<!-- Yandex.Metrika counter -->


Тут код метрики, скопированный из ее настроек на сайте Метрики.

<!-- /Yandex.Metrika counter -->



Все! Мне не жалко 5 баксов, просто когда времени на выпрашивание уходит больше, чем на "написать самому" это не прикольно.


 

Установка кодов подтверждения покупки

Установка на страницу "Спасибо" стороннего кода нужна в системах аналитики от Гугля и Яндекса и во всевозможных партнерках, которые хотят знать, что покупка была совершена.

!!! Будьте внимательны! Чужие скрипты (и в ифреймах в том числе) могут делать что угодно, любые вредоносные действия.

Идем в папку с нашим скином, затем в default/checkout/ (если этих папок нет - создаем) и создаем папку success, в которую будем помещать twig файлы для разных сервисов.

Так для Гугл Адвордс создадим файл google.twig содержащий

{##
 # Order success for Google
 #
 # @ListChild (list="checkout.success.panel", weight="1000")
 #}

<div>google code</div>

суббота, 28 ноября 2015 г.

Если вы ошиблись в коде (PHP)

Правлю модуль доставки, вроде бы все ОК. перегружаю магазин - получаю вот такое:

     Deploying store [step 1 of 13], please wait...

Cleaning up the cache... [0.00sec, 1.0MB (53kB)]
Building classes tree... [0.81sec, 9.1MB (8.1MB)]
Run the "Doctrine_Plugin_Cache" plugin... [0.00sec, 9.2MB (131kB)]
Run the "Doctrine_Plugin_DocBlock_FakeEntities" plugin...



ERROR: "Includes\ErrorHandler::FATAL_ERROR" (code 2)
Class 'XLite\Model\OrderAbstract' not found


и виснет.

Причем то, что подсвечено розовым - отображается далеко не всегда, а только после удаления папки VAR (хотя виснет всегда).

а все было просто - в PHP коде забыл одну скобку...

четверг, 19 ноября 2015 г.

Немного о CSS

Помещенный в папку skins/YouSkin/default/en/css/ файл style.css оказывает влияние на стили сразу, не требуя перезагрузки x-cart

НО!!! @media запросы у меня в нем так и не заработали...

понедельник, 19 октября 2015 г.

Начиная с 5.2.6 - могут быть проблемы с вашими шаблонами.

Совершенно не думал об этом до сегодняшнего дня, пока не понадобилось настроить рассылку почты через яндексовый SMTP сервер.

и в логах до кучи нашел вот такую каку:

XLite [warning] Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'XLite\Module\DAG\MaayaSkin\Main' does not have a method 'getLayoutTypes' in /home/almaayar/data/www/maaya.ru/var/run/classes/XLite/Model/Module.php on line 426

Вроде бы варнинг, но разобраться то хочется. ответ есть по ссылке : Errors with custom skin

То есть  все (все? но ошибка вроде бы ушла) что нужно сделать - это в Main скина дописать


    public static function getLayoutTypes()
    {
        return \XLite\Core\Layout::getInstance()->getLayoutTypes();
    }

ну и чудесно.

второй варнинг "does not have a method getLayoutColors" лечится ровно так же - пишем в main.php код


    const COLOR_SCHEME_STANDARD = 'Standard';
    public static function getLayoutColors()
    {
        return array(
            static::COLOR_SCHEME_STANDARD => \XLite\Core\Translation::lbl('Pmall'),
        );
    }

Кстати о почте - в настройках почты ЧЕТЫРЕ ящика, а слать почту можно только с одного, иначе сервер сделает вашему письму rejected. Кто сразу догадается, с какого?

четверг, 4 июня 2015 г.

Как изменить шаблон чужого МОДУЛЯ

Это важно, потом сам забуду

в X-CART есть такой замечательный модуль Add2CartPopup и вот его шаблон то мне и понадобилось поправить.

Напрямую - нельзя, при его следующем обновлении моим изменениям придет капут, да и отслеживать их все - глупо и лениво.

Простое дублирование item.message.tpl (мне его надо было поправить) в своем модуле приводит к тому, что и ожидалось - перекрытия нет, это message отображается два раза, старое и новое.

А вот если разместить item.message.tpl по пути \skins\ваш_скин\default\en\modules\XC\Add2CartPopup\parts то все перекроется просто расчудесно!

Интересно, а что будет, если я когда нибудь забуду о этой зависимости и снесу Add2CartPopup? Скорее всего ничего страшного, лень проверять заранее...

Перешел на 5.2.5

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

Зачем только все это менять, только люди привыкли...