Ответы пользователя по тегу Magento
  • Как загрузить стили и скрипты в Magento локально?

    Hide
    @Hide
    инженер-программист
    Информации, что вы предоставили, недостаточно для определения причины. Сделайте дамп того, что у вас сейчас есть (файлы и бд), залейте на файлообменник и киньте сюда ссылку для загрузки. Загружу локально, разверну и посмотрю что не так.

    UPD:
    Если нет возможности предоставить дамп, то попробуйте отключить "левые" расширения. Ощущение, что какое-то стороннее расширение вмешивается в работу системы. Возможно также, что такое поведение связано с изменениями в базовых файлах магенты.
    Ответ написан
    Комментировать
  • Magento и модуль payeer = Invalid Signature?

    Hide
    @Hide
    инженер-программист
    Скорее всего, это не магента прописывает неправильную цифру (неполную), а модуль. Искать причину нужно там. На странице продукта у вас же 2 цифры в десятичной части отображаются?
    У меня две:
    cc0d903e01454f21bf00e4a179a1ce3d.png
    Ответ написан
    Комментировать
  • Что за ошибка "The encoded file is corrupt" после переноса магазина?

    Hide
    @Hide
    инженер-программист
    Вот что нагуглил:
    > To fix this problem, re-upload the liveSite software files in BINARY MODE.
    https://www.camelback.net/website-builder-kbase-li...
    Да, по ссылке речь про левый движок, но это замечание может быть отнесено и к вашему случаю, так как может быть связано с тем, что файл закодирован, и копировать его нужно в BINARY MODE, а не в ASCII.

    UPD:
    - Так в чем была проблема? Что помогло?
    - Пока до конца не выяснил. Возможно как раз из-за неверного RewriteBase. По крайней мере когда его раскомментил, то ничего не падало и в phperrorlog ничего не писалось.
    Ответ написан
  • Перенос данных магазина с одной платформы на другую, как это сделать?

    Hide
    @Hide
    инженер-программист
    Нагуглил такое решение (по фразе "migration from volusion to magento"):

    Want to migrate to Magento from Volusion shopping cart? You don’t know how to transfer your data quickly and securely? Luckily, you may use Cart2Cart. This online service is the best way to migrate your products, customers and orders. You just have to make several simple steps, and then you’ll get your data on Magento store.
    www.magentocommerce.com/magento-connect/cart2cart-...
    www.shopping-cart-migration.com/shopping-cart-migr...
    а тут видео: https://www.youtube.com/watch?v=0wTNOxwFj6A

    Это топ 5 ссылок, т.е. решение вроде как популярное.
    Ответ написан
    Комментировать
  • Как исправить неверные пути у css и js файлов?

    Hide
    @Hide
    инженер-программист
    Пробовали удалять var/cache, media/css, media/js? Причина еще может быть в стороннем расширении, которое осуществляет merge. Киньте список файлов в папке /app/etc/modules. У меня такое было, когда пользовался сторонним модулем для minify и merge. Помогло удаление данных этого расширения в core_config_data.
    Ответ написан
    Комментировать
  • В чем проблема с установкой собственного модуля через Magento Connect?

    Hide
    @Hide
    инженер-программист
    > CONNECT ERROR: The 'Form' channel is not installed. Please use the MAGE shell script to install the 'Form' channel.
    Похоже, пакет был упакован неверно. Ожидается, что channel будет в виде урла на ваше расширение на магенто-коннект. Вы вообще как упаковывали? Как ставили? (по шагам со скриншотами). Или дайте ссылку для скачивания. Скачаю и попробую установить локально у себя. Заодно проверю - правильно ли упаковано.

    > а после этого CMS "накрылась" и на все запросы отвечала ошибкой 503
    Удалите файл "maintenance.flag" в корне сайта-магенты. Видимо, при установке расширения стояла галочка "Put store on the maintenance mode while installing/upgrading/backup creation". Обычно, она установлена по умолчанию.

    UPD:
    www.magentocommerce.com/wiki/_detail/general/packa...
    Обратите внимание, там для поля "Channel" указано значение "community". У вас же почему-то "Form". Отсюда и ошибка.
    Ответ написан
  • Где находятся файлы типов доставок Magento?

    Hide
    @Hide
    инженер-программист
    Эти файлы "размазаны" по файловой структуре.
    Тут лежат файлы, отвечающие за вывод списка способов доставки:
    /app/code/core/Mage/Checkout/Block/Onepage/Shipping

    Тут файлы базовых способов доставки:
    /app/code/core/Mage/Shipping

    Тут файлы, которые расширяют базовый список
    /app/code/core/Mage/Usa

    Вообще, способы доставки (сторонние) представляют из себя отдельные модули/расширения со всеми вытекающими.

    Насчет записей в БД. Ищите следы в папке "sql" соответствующего расширения. Например, здесь:
    - /app/code/core/Mage/Usa/sql/usa_setup
    - /app/code/core/Mage/Shipping/sql/shipping_setup
    Ответ написан
    1 комментарий
  • Как поменять цены в Magento?

    Hide
    @Hide
    инженер-программист
    1. Через Magento Currency > Rates. Если у вас цены напрямую зависят от курса рубля к доллару. Указываете отношение рубля к доллару вручную или настраиваете импорт курса извне. Импорт курса - это скрипт писать и на крон вешать, или модуль отдельный писать, или еще как.

    2. Через систему импорта, используя csv-файл. Подготавливаете файл с обновленными ценами (sku - новая цена) и меняете скопом через импорт этого файла.
    Ответ написан
    4 комментария
  • Как в magento вывести категории товаров на главную страницу?

    Hide
    @Hide
    инженер-программист
    Вывод списка продуктов из определенной категории.
    Самый простой способ - это использовать стандартный {{block ...}}. Пример:
    {{block type="catalog/product_list" template="catalog/product/list.phtml" category_id="HomeProductsCategoryID"}}


    Шаблон вывода можно отредактировать:
    - убрать тулбар
    - ограничить вывод количества продуктов
    - убрать ссылки на вишлист и компаре и пр.

    UPD:

    Вывод списка категорий. Пример:
    {{block type="catalog/navigation" name="catalog.category" template="catalog/category/list.phtml"}}


    Содержимое файла /app/design/frontend/default/default/template/catalog/category/list.phtml
    <?php foreach ($this->getStoreCategories() as $_category): ?>
    <?php
    $open = $this->isCategoryActive($_category);
    $cur_category=Mage::getModel('catalog/category')->load($_category->getId());
    $layer = Mage::getSingleton('catalog/layer');
    $layer->setCurrentCategory($cur_category);
    if ($immagine = $this->getCurrentCategory()->getImageUrl()): ?>
    
    <div style="float: left; padding-right: 30px; text-align: center;">
        <div class="linkimage">
            <p>
                <a href="<?php echo $this->getCategoryUrl($_category)?>">
                    <img src="<?php echo $immagine ?>" alt="<?php echo $this->htmlEscape($this->getCurrentCategory()->getName()) ?>" width="135" height="135" />
                    <?php echo $_category->getName()?>
                </a>
            </p>
        </div>
    </div>
    
    <?php endif; ?>
    <?php endforeach; ?>


    или такое

    <?php $_maincategorylisting = $this->getCurrentCategory(); ?>
    <?php $_categories = $this->getCurrentChildCategories(); ?>
    <div class="subcat-listing">
    <ul class="subcat-products">
    
    <?php foreach ($_categories as $_category): ?>
    <?php if ($_category->getIsActive()): ?>
    <?php $cur_category = Mage::getModel('catalog/category')->load($_category->getId()); ?>
    <?php $layer = Mage::getSingleton('catalog/layer'); ?>
    <?php $layer->setCurrentCategory($cur_category); ?>
    <?php if ($_imageUrl = $this->getCurrentCategory()->getImageUrl()): ?>
    <li>
        <a href="<?php echo $this->getCategoryUrl($_category) ?>" title="<?php echo $this->htmlEscape($_category->getName()) ?>">
            <img src="<?php echo $_imageUrl ?>" width="auto" alt="<?php echo $this->htmlEscape($_category->getName()) ?>" />
        </a>
        <h3><?php echo $this->htmlEscape($_category->getName()) ?></h3>
    
    <?php if ($_description=$this->getCurrentCategory()->getDescription()):?>
        <p class="category-description"><?php echo $_description ?></</p>
    <?php endif; ?>
    
    </li>
    <?php endif; ?>
    <?php endif; ?>
    <?php endforeach; ?>
    
    </ul>
    </div>
    <?php $layer->setCurrentCategory($_maincategorylisting); ?>


    Источники:
    1. samsami2u.wordpress.com/2009/09/15/add-categories-...
    2. www.magentocommerce.com/wiki/4_-_themes_and_templa...
    Ответ написан
  • Может ли установка темы Magento сломать локализацию?

    Hide
    @Hide
    инженер-программист
    Если кратко - может. Magento сделано на PHP. Темы содержат код PHP. Кривая тема вообще может испортить ваш магазин (как и кривое расширение). У магенты есть механизмы локализации всего. И текста в PHP, и текста в Javascript коде.

    Локализация - это вопрос не только к теме оформления, но и к языковому пакету. Частичная локализация может быть, если в языковом пакете не переведены фразы из темы, либо эти фразы не были обернуты в спец. функцию, назовем ее Т-функцией (функция перевода).
    Ответ написан
    2 комментария
  • Нетривиальный вопрос, как поменять фавикон?

    Hide
    @Hide
    инженер-программист
    В хроме на убунту иконка нормальная. Вы в каком браузере смотрите?
    0d9e303f20454d13ad20f6afe9d19ca3.png
    У меня подозрение, что это просто кэш браузера. Старый кэш. Попробуйте обновить/очистить кэш.

    UPD:
    Windows 8.1, Chrome
    4d25215a62904fa2b4802c524a43b6fc.png

    Windows 8.1, IE11
    a2af2966079b41d183b95d4cffd048be.png

    Windows 8.1, FF
    6d03da8544ba4817a13e98861a5c18ef.png
    Ответ написан
  • Как заставить Magento отдавать платежным системам валюту выбранную пользователем?

    Hide
    @Hide
    инженер-программист
    Увы, простого решения нет. Нужно вмешиваться в код модуля, отвечающего за передачу данных в платежную систему. Проблема существует уже давно. Она имеется и в случае с PayPal, и в случае с Authorize.net, которые встроены в магенту. Тут только два пути решения
    1. устанавливать соотв. базовую валюту у website
    2. править код модуля
    Первый путь вам не подходит, значит ваш выбор - правка модуля.
    Ответ написан
    1 комментарий
  • В каком файле(классе) описаны ключевые атрибуты товара в magento?

    Hide
    @Hide
    инженер-программист
    > который добавит в стандартный набор атрибутов новый атрибут, так же добавит его в листинг(и даст возможность сортировать и фильтровать по значению этого атрибута)
    Эта возможность доступна "из коробки" в Админке:
    Admin > Catalog > Attributes
    - Manage Attributes
    - Manage Attribute Sets
    Ищите гайды в сети о том, как с этим делом работать. Либо изучите методом тыка.

    "Из коробки" может не заработать только это:
    > ну и конечно выводить его на фронт енде
    Но на Тостере я уже писал как выводить такие кастомные атрибуты:
    Magento карточка товара
    Ответ написан
    6 комментариев
  • Как создать пользовательскую форму в Magento?

    Hide
    @Hide
    инженер-программист
    > Можно ли вывести просто форму? Без создания модуля?
    Да, можно.

    > Что я делаю не так?
    У вас класс объявлен, а экземпляр класса нигде не создается (соответственно, конструктор не вызывается). Допишите в конец файла Webinseform.php
    new Webinseform();

    Либо другой вариант. Переместите код из конструктора непосредственно... в потоковый код файла, т.е. избавьтесь от класса Webinseform, необходимость которого в данном контексте сомнительна.
    Ответ написан
    2 комментария
  • Кто-нибудь работал с Magento extensions?

    Hide
    @Hide
    инженер-программист
    Это особенность установки расширения через Magento Connect (он же Magento Downloader, по-вашему). Нельзя установить расширение повторно, пока не удалишь файлы старого. И не важно как эти файлы туда попали изначально (через коннект или через фтп). Просто запрещено перезаписывать файлы при установке через Magento Connect.
    Ответ написан
  • Как настроить e-commerce Google Analytics в CMS Magento?

    Hide
    @Hide
    инженер-программист
    Согласен с @buttersmai. Советую вставлять код трэкинга в head через специальное поле в бэкэнде:
    Admin > System > Configuration > Design > HTML Head > Miscellaneous Scripts
    46cb0c48c0d041afb2ae9ca0d8d29c0c.jpg
    Пример на базе Magento 1.9.0.1
    Ответ написан
    1 комментарий
  • Доставка (Shipping) по умолчанию в Magento?

    Hide
    @Hide
    инженер-программист
    Есть готовое решение на базе модуля Mage_Autoquote. Проверил его работу на базе Magento 1.8.1.0
    Так выглядит страница с настройками в бэкэнде:
    9c0baf4abadd45079c6fe977bb23830f.jpg
    Скрин фронта сразу после добавления продукта в корзину при включенном расширении:
    0a44f635749b4a95ae78c7be0d7497d7.jpg

    А здесь можно ознакомиться с ответами на аналогичный вопрос на инглише.
    Ответ написан
    Комментировать
  • Magento карточка товара

    Hide
    @Hide
    инженер-программист
    Используйте этот код:
    <?php if ($_product->getShortDescription()):?>
        <div class="short-description">
            <h2><?php echo $this->__('Quick Overview') ?></h2>
            <ul><?php
                $groupId = 88;
                $attributesCollection = Mage::getResourceModel('catalog/product_attribute_collection');
                $attributesCollection->setAttributeGroupFilter($groupId);
                foreach ($attributesCollection as $attribute) : ?>
                    <li>
                        <b><?php echo $attribute->getFrontend()->getLabel(); ?></b>:
                        <?php echo $attribute->getFrontend()->getValue($_product); ?>
                    </li>
                   <?php
                endforeach; ?>
            </ul>
        </div>
    <?php endif;?>

    где $groupId - это ID группы
    d5dd9f6f0fd237ea4d368ca9a5825398daf8e8b2

    А так это будет выглядеть на фронтенде:
    068c472839d19b737109ed772cd53c627184aef0
    Ответ написан
    Комментировать
  • Как вывести значение атрибута картинки в Magento?

    Hide
    @Hide
    инженер-программист
    Напрямую никак. Не содержит коллекция нужной информации:
    /**
         * Retrive media gallery images
         *
         * @return Varien_Data_Collection
         */
        public function getMediaGalleryImages()
        {
            if(!$this->hasData('media_gallery_images') && is_array($this->getMediaGallery('images'))) {
                $images = new Varien_Data_Collection();
                foreach ($this->getMediaGallery('images') as $image) {
                    if ($image['disabled']) {
                        continue;
                    }
                    $image['url'] = $this->getMediaConfig()->getMediaUrl($image['file']);
                    $image['id'] = isset($image['value_id']) ? $image['value_id'] : null;
                    $image['path'] = $this->getMediaConfig()->getMediaPath($image['file']);
                    $images->addItem(new Varien_Object($image));
                }
                $this->setData('media_gallery_images', $images);
            }
    
            return $this->getData('media_gallery_images');
        }

    Из кода видно, что коллекция создается налету. В объекте $image нет нужного атрибута type изначально. И в коллекцию через обновление данных $image этот атрибут никак не заносится. Только через сравнение с данными у объекта $_product. Сравнивать следует по атрибуту file у $image из коллекции.
    $_product->getImage() # /a/s/asics-men-s-gel-kayano-xii.jpg
    $_product->getSmallImage() # /a/s/asics-men-s-gel-kayano-xii-2.jpg
    $_product->getThumbnail() # /a/s/asics-men-s-gel-kayano-xii-2.jpg
    ...
    $_image->getFile() # в цикле даст список путей выше, 
    # если только изображение не исключено из коллекции в бэкэнде

    66a736e10142ffc2cefe003a2af18b1252c17935
    Ответ написан
    Комментировать