1. Чтобы не получить бан прочти правила магентоман! Читать обязательно!

◄Советы► Magento

Тема в разделе "Magento", создана пользователем donvictorio, 18 авг 2013.

Модераторы: Violent
  1. donvictorio

    donvictorio

    Регистр.:
    28 янв 2010
    Сообщения:
    869
    Симпатии:
    799
    Тема предназначена для советов, полезных рекомендаций по настройке CMS Magento.

    Прежде чем написать в этой или любой-другой теме, ОБЯЗАТЕЛЬНО прочите правила раздела: https://www.nulled.cc/threads/240127/ (незнание правил, не освобождает от ответственности и наказания!)

    Если вы не нашли ответ на свой вопрос, то тогда вам нужно заглянуть в одну из этих тем:

    Помощь Magento

    Шаблоны для Magento

    Ищу модули для Мagento

    Magento (компоненты, модули, хаки)

    Мнения по поводу скрипта инет.магазина Magento

    Magento - Бесплатный движок Интернет-магазина с открытым исходным кодом

    Ветка Magento...

    В этой теме разрешено давать только полезные советы или выкладывать полезные материалы, любые вопросы (если таковые есть пишите в "Помощь" или в ЛС) или ответы не по теме будут пресекаться и жестоко наказываться, потому лучше не провоцируйте.

    Каждое сообщение должно формироваться лаконично и понятно. Если много текста прячьте его под "Спойлер", если используете код берите его в "Код". Подобно тому как показано в примере внизу:
    © Violent
    __________________________________________________________________________________________________________________________________________________
    404 при входе в админку magento после переноса магазина на другой сервер
    Иногда, после переноса магазина Magento на другой хостинг или миграции с сервера на сервер (или в целом при миграции с одного инстанса БД на другой) при входе в админку выдаёт 404 ошибку. Вывод делает сам скрипт, не вебсервер. Причина в том, что при импорте базы для админа меняются значения store_id и website_id. Они должны иметь значение 0.
    Для того, чтобы исправить ситуацию, нужно в консоли БД (в phpmyadmin или ином mysql клиенте) выполнить запрос:

    Код:
    SET FOREIGN_KEY_CHECKS=0;
    UPDATE `core_store` SET store_id = 0 WHERE code='admin';
    UPDATE `core_store_group` SET group_id = 0 WHERE name='Default';
    UPDATE `core_website` SET website_id = 0 WHERE code='admin';
    UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN';
    SET FOREIGN_KEY_CHECKS=1;
    после чего проблема исчезнет.
     
    Последнее редактирование модератором: 4 июл 2014
    AlkosFm, ulsk, AdamAdamov и 7 другим нравится это.
  2. donvictorio

    donvictorio

    Регистр.:
    28 янв 2010
    Сообщения:
    869
    Симпатии:
    799
    Ссылка на фронт из админки

    В админке магенто по умолчанию нет статического элемента со ссылкой на фронт. Иногда это бывает очень нужно. Зато есть совершенно бесполезный элемент в виде логотипа в верхнем левом углу, который ведёт на начальную страницу админки.

    Исправить это легко.
    в файле
    app\design\adminhtml\default\default\template\page\header.phtml
    в 30й строке
    заменить
    $this->getHomeLink()
    на
    $this->getBaseUrl()

    также по желанию можно сменить логотип, его путь
    skin/adminhtml/default/enterprise/images/logo.gif
     
    Последнее редактирование модератором: 4 июл 2014
    Skazhikadyadya, Bumoc, Kodzhesyan и 5 другим нравится это.
  3. Violent

    Violent V-Power!

    Moderator
    Регистр.:
    17 окт 2012
    Сообщения:
    353
    Симпатии:
    269
    Удаление ненужных заказов (обнуление id)
    Иногда бывает, что после пробной настройки или в период работы нужно удалить ненужные (или пробные) заказы, в этом случае приходит на помощь запрос в базу данных mysql :

    1. Сделайте резервную копию текущей базы данных
    2. Выполните SQL-запрос(ы) в базе данных представленных ниже

    Таковы запросы для удаления заказа и сброса ID на Magento:

    Код:
    SET FOREIGN_KEY_CHECKS=0;
    
    
    TRUNCATE `sales_flat_order`;
    TRUNCATE `sales_flat_order_address`;
    TRUNCATE `sales_flat_order_grid`;
    TRUNCATE `sales_flat_order_item`;
    TRUNCATE `sales_flat_order_payment`;
    TRUNCATE `sales_flat_order_status_history`;
    
    TRUNCATE `sales_flat_creditmemo`;
    TRUNCATE `sales_flat_creditmemo_comment`;
    TRUNCATE `sales_flat_creditmemo_grid`;
    TRUNCATE `sales_flat_creditmemo_item`;
    
    TRUNCATE `sales_flat_invoice`;
    TRUNCATE `sales_flat_invoice`;
    TRUNCATE `sales_flat_invoice_grid`;
    TRUNCATE `sales_flat_invoice_item`;
    
    TRUNCATE `sales_flat_quote`;
    TRUNCATE `sales_flat_quote_address`;
    TRUNCATE `sales_flat_quote_address_item`;
    TRUNCATE `sales_flat_quote_item`;
    TRUNCATE `sales_flat_quote_item_option`;
    TRUNCATE `sales_flat_order_item`;
    
    TRUNCATE `sales_flat_shipment`;
    TRUNCATE `sales_flat_shipment_comment`;
    TRUNCATE `sales_flat_shipment_grid`;
    TRUNCATE `sales_flat_shipment_item`;
    TRUNCATE `sales_flat_shipment_item`;
    TRUNCATE `sales_flat_shipment_track`;
    
    TRUNCATE `sendfriend_log`;
    TRUNCATE `tag`;
    TRUNCATE `tag_relation`;
    TRUNCATE `tag_summary`;
    TRUNCATE `wishlist`;
    TRUNCATE `log_quote`;
    TRUNCATE `report_event`;
    
    ALTER TABLE `sales_flat_order` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=0;
    
    ALTER TABLE `sales_flat_creditmemo` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_creditmemo_comment` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_creditmemo_grid` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_creditmemo_item` AUTO_INCREMENT=0;
    
    ALTER TABLE `sales_flat_invoice` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_invoice` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_invoice_grid` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_invoice_item` AUTO_INCREMENT=0;
    
    ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=0;
    
    ALTER TABLE `sales_flat_shipment` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_shipment_comment` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_shipment_grid` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_shipment_item` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_shipment_item` AUTO_INCREMENT=0;
    ALTER TABLE `sales_flat_shipment_track` AUTO_INCREMENT=0;
    
    ALTER TABLE `sendfriend_log` AUTO_INCREMENT=0;
    ALTER TABLE `tag` AUTO_INCREMENT=0;
    ALTER TABLE `tag_relation` AUTO_INCREMENT=0;
    ALTER TABLE `tag_summary` AUTO_INCREMENT=0;
    ALTER TABLE `wishlist` AUTO_INCREMENT=0;
    ALTER TABLE `log_quote` AUTO_INCREMENT=0;
    ALTER TABLE `report_event` AUTO_INCREMENT=0;
    
    TRUNCATE `eav_entity_store`;
    ALTER TABLE  `eav_entity_store` AUTO_INCREMENT=0;
    
    SET FOREIGN_KEY_CHECKS=1;
    P.S. Если у вас
    присутствует префикс в базе-данных, то вам нужно его проставить перед каждым именем таблицы. Пример: sales_flat_orde > префиксsales_flat_orde

    Также вы можете воспользоваться одним из бесплатных модулей:

    Все они работают по тому же принципу, с едим отличием, что всё делается в пару кликов и через админку. НО(!), не все модули обнуляют ID! Потому, будьте бдительны при выборе.
     
    Последнее редактирование: 12 окт 2015
    Vadimuch, nloshka, donvictorio и ещё 1-му нравится это.
  4. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.725
    Симпатии:
    2.100
    Очистка базы данных
    Очень дельный совет касательно очистки таблиц магазина от "ненужных" даных
    Код:
    SET foreign_key_checks = 0;
    TRUNCATE dataflow_batch_export;
    TRUNCATE dataflow_batch_import;
    TRUNCATE log_customer;
    TRUNCATE log_quote;
    TRUNCATE log_summary;
    TRUNCATE log_summary_type;
    TRUNCATE log_url;
    TRUNCATE log_url_info;
    TRUNCATE log_visitor;
    TRUNCATE log_visitor_info;
    TRUNCATE log_visitor_online;
    TRUNCATE report_viewed_product_index;
    TRUNCATE report_compared_product_index;
    TRUNCATE report_event;
    TRUNCATE index_event;
    TRUNCATE catalog_compare_item;
    SET foreign_key_checks = 1;
    P.S.: как всегда не забываем делать бекапы перед манипуляциями
    +
    есть целый скрипт, который не только очищает базу, но и и логи с временными файлами, а также загрузками
    http://www.crucialwebhost.com/kb/magneto-log-and-cache-maintenance-script/
     
    Последнее редактирование модератором: 2 июл 2014
    salaris, AdamAdamov, s.kiev и ещё 1-му нравится это.
  5. donvictorio

    donvictorio

    Регистр.:
    28 янв 2010
    Сообщения:
    869
    Симпатии:
    799
    Удаление неиспользуемых изображений в товарах.
    По умолчанию магенто не удаляет картинки товара, когда вы удаляете товар из админки. При интенсивной ротации товаров через некоторое время в каталоге с изображениями может накопиться очень большой объём, что усложняет работу с бэкапами.
    Есть несколько способов этот вопрос решить.
    1. поставить расширение Delete product Images. (бесплатно)
    удаляет картинки, привязанные к товару при его удалении из админки. Не рекомендуется использовать в случаях, когда одно изображение привязано к нескольким товарам (к примеру при импорте)
    1.1 поставить расширение Image Clean. Расширение ищет мёртвые картинки и удаляет их.
    2. использовать magmanager. (триал 14 дней)
    помимо удаления неиспользуемых изображений находит товары без изображений.
    3. использовать bash скрипт из консоли сервера (бесплатно, требует наличия доступа по ssh)
    скрипт можно запускать из любого места на сервере, нужно лишь указать полный путь к корневой директории магазина.

    Код:
    #!/bin/bash
    MAGENTO_PATH="/var/www/path/to/vhost/httpdocs/path/to/magento"
    LOG=${MAGENTO_PATH}/var/log/imagecleanup.log
    DB_USER=$(sed -n 's|<username><\!\[CDATA\[\(.*\)\]\]></username>|\1|p' ${MAGENTO_PATH}/app/etc/local.xml | tr -d ' ')
    DB_PASS=$(sed -n 's|<password><\!\[CDATA\[\(.*\)\]\]></password>|\1|p' ${MAGENTO_PATH}/app/etc/local.xml | tr -d ' ')
    DB_NAME=$(sed -n 's|<dbname><\!\[CDATA\[\(.*\)\]\]></dbname>|\1|p' ${MAGENTO_PATH}/app/etc/local.xml | tr -d ' ')
    DB_PREFIX=$(sed -n 's|<table_prefix><\!\[CDATA\[\(.*\)\]\]></table_prefix>|\1|p' ${MAGENTO_PATH}/app/etc/local.xml | tr -d ' ')
    
    function search_db() {
        COUNT=$(mysql -u ${DB_USER} -p${DB_PASS} ${DB_NAME} --execute="SELECT count(*) FROM ${DB_PREFIX}catalog_product_entity_media_gallery WHERE value = \"$1\"")
        echo $(echo ${COUNT} | cut -d" " -f2)
    }
    
    echo "Starting image cleanup " $(date) | tee -a ${LOG}
    IMG_PATH=${MAGENTO_PATH}/media/catalog/product/
    for IMG in $(find ${IMG_PATH} -name '*.jpg' ! -path '*cache*' ! -name 'google*'); do
        REL_IMG=/${IMG:${#IMG_PATH}}
        if [ $(search_db ${REL_IMG/'${MAGENTO_PATH}/media/catalog/product'/}) != 1 ]; then
            IMG=${IMG##*/}
            for CACHE_IMG in $(find ${MAGENTO_PATH}/media/catalog/product/ -name "${IMG}"); do
                echo "Found unused image ${CACHE_IMG}"
                if [ "$1" ] && [ $1 == 'cleanup' ]; then
                    echo "Removing unused image ${CACHE_IMG}" | tee -a ${LOG}
                    rm "${CACHE_IMG}"
                fi
            done
        else
            echo "Not touching " ${IMG}
        fi
    done
    echo "Finished image cleanup " $(date) | tee -a ${LOG}
     
    Последнее редактирование модератором: 2 июл 2014
    Skudetto, allmoll, AdamAdamov и 4 другим нравится это.
  6. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    423
    Симпатии:
    408
    Fundamentals of Magento Development Student Guide
    Учебный материал от официальных разработчиков Мадженто от 04-15-2012
    Пример: https://www.youtube.com/watch?v=pqgqxUuaBqo
     
    Последнее редактирование: 19 июл 2014
    donvictorio и Шумадан нравится это.
  7. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.725
    Симпатии:
    2.100
    Джуга, donvictorio и nloshka нравится это.
  8. AlkosFm

    AlkosFm

    Регистр.:
    26 сен 2014
    Сообщения:
    206
    Симпатии:
    113
    How to pass Magento Certification exam in 30 days

    Хороший гайд, но для тех, кто владеет хотя бы техническим английским.

     
    Mehmet Demir, nloshka и Шумадан нравится это.
  9. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.725
    Симпатии:
    2.100
    Из грязи в князи :crazy:
    иноггда так бывает, что модули с коммюнити версии могут спокойно пойти на ee, достаточно поменять или добавить такую штуку в дескриптор модуля
    например
    Код:
    aw_popup1.2.3.zip\app\code\local\AW\All\etc\config.xml
    Код:
    <AW_All>
                <version>2.3.0</version><platform>ce</platform>
    </AW_All>
    платформу поменять на ee
     
    nulled_cc, s.kiev, donvictorio и 3 другим нравится это.
  10. nloshka

    nloshka

    Регистр.:
    25 май 2012
    Сообщения:
    220
    Симпатии:
    197
    Для отладки темы рекомендую использовать данный модуль.
    Позволяет менять тему в зависимости от ип.
    На работающем магазине никому не мешая заниматься отладкой темы.
    magento.zip
     

    Вложения:

    • magento.zip
      Размер файла:
      2,5 КБ
      Просмотров:
      47
    Bumoc нравится это.