Поле миниатюры вставки категории администратора исчезло


Я недавно установил Magento 1.9.1 и пытаюсь использовать миниатюры категорий (а также основное изображение).

Однако я перешел к Admin >> Catalog >> Manage Categories, и, похоже, он исчез, я не могу добавить миниатюру категории.

Я проверил примечания к выпуску, и там нет упоминания об этом, я отключил несколько модулей, обзоры, PayPal и т.д.

Я также включил Плоские категории, но я пробовал включить/отключить все, кроме кажется, что он исчез:(

Author: Ronak Chauhan, 2014-12-11

3 answers

Важные примечания перед началом работы:

  1. Для этого решения я буду называть наше Имя пакета "MyProject" и наше Имя модуля "Каталог". Если вы знакомы с разработкой расширений Magento, вы можете изменить эти имена по своему усмотрению, в противном случае просто выполните следующие действия как есть, и у вас должно быть поле отсутствующих миниатюр.
  2. Если кэширование отключено, вероятно, важно, чтобы никакие HTTP-запросы не попадали на сайт между шагом 2 и шаг 3. Я полагаю, что если это произойдет, Magento может попытаться найти сценарий установки версии 1.0.0 и, несмотря на то, что он не найден, пометить расширение как "установленное" в таблице core_resource, в результате чего сценарий установки на шаге 3 никогда не запустится. Простое решение, чтобы избежать этого, состоит в том, чтобы убедиться, что тип кэша "Конфигурация" включен , прежде чем следовать этим инструкциям.
  3. Для шагов 2 и 3 создайте все необходимые каталоги для этих файлов. Пути важны здесь поэтому обратите пристальное внимание на имена каталогов, а также имена файлов. Имена файлов и каталогов также чувствительны к регистру.
  4. В конце этого я объясню, как при желании добавить еще больше дополнительных полей изображения. Если вы хотите это сделать, обязательно добавьте всю свою конфигурацию (описанную в шаге 3) в сценарий установки перед его запуском . Как только он запустится, Magento больше не будет запускать сценарий установки. Если это произойдет, вам придется прочитать о том, как запустить установщик "обновить" сценарии путем увеличения номера версии вашего расширения и создания сценариев обновления с соответствующими именами.

Шаг 1: Создайте файл app/etc/modules/MyProject_Catalog.xml со следующим содержимым:

<?xml version="1.0"?>
<config>
    <modules>
        <MyProject_Catalog>
            <active>true</active>
            <codePool>local</codePool>
        </MyProject_Catalog>
    </modules>
</config>

Шаг 2: Создайте файл app/code/local/MyProject/Catalog/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <MyProject_Catalog>
            <version>1.0.0</version>
        </MyProject_Catalog>
    </modules>
    <global>
        <resources>
            <myproject_catalog_setup>
                <setup>
                    <module>MyProject_Catalog</module>
                    <class>Mage_Catalog_Model_Resource_Setup</class>
                </setup>
            </myproject_catalog_setup>
        </resources>
    </global>
</config>

Шаг 3: Создайте файл

    app/code/local/MyProject/Catalog/sql/myproject_catalog_setup/mysql4-install-1.0.0.php

Со следующим содержанием:

<?php
/**
 * Adds Thumbnail Image back to category entities
 */

$this->startSetup();

$attributes = array(
    'thumbnail' => array(
        'type'       => 'varchar',
        'label'      => 'Thumbnail Image',
        'input'      => 'image',
        'backend'    => 'catalog/category_attribute_backend_image',
        'required'   => false,
        'sort_order' => 5,
        'global'     => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
        'group'      => 'General Information',
    ),
);

foreach ($attributes as $code => $data) {
    $this->addAttribute(Mage_Catalog_Model_Category::ENTITY, $code, $data);
}

$this->endSetup();

Шаг 4: Обновите тип кэша "Конфигурация", если он включен, или если он не был включен с начните, просто сделайте HTTP-запрос на сайт. Первый HTTP-запрос на сайт (без кэшированных XML-файлов конфигурации) должен заставить Magento найти ваше расширение, запустить сценарий установки, а затем пометить расширение как установленное в таблице core_resource.

Объяснение каждого шага:

  1. Этот файл сообщает Magento, что наше расширение существует, активно и где (на основе его имени и пула кодов) искать его файл конфигурации
  2. Этот файл является нашим основной файл конфигурации расширения. Для этого расширения мы просто даем ему номер версии (необходимый для запуска сценария установки) и указываем, что у него есть ресурсы установки.
  3. Это сценарий установки нашего расширения. Это то, что добавляет уменьшенное изображение обратно в Magento. Я предоставил значения конфигурации, чтобы вернуть его туда, где мы ожидали его увидеть в прошлом, рядом с "Изображением" на вкладке "Общая информация".
  4. Сам пояснительный...

Заключительные примечания:

  1. Изучая наш сценарий установки на шаге 3, можно увидеть, что было бы довольно легко добавить любое количество дополнительных полей изображений в категории, указав дополнительные массивы в переменной $attributes. Переменная $attributes представляет собой пару key=>value значений 'attribute_code' => $config_array.
  2. Если вам нужны дополнительные поля изображения, потребуется обновить по крайней мере "код атрибута" для каждого. Предпочтительно, метка и позиция должны быть также обновлено. Наконец, при желании можно также изменить "группу". Из коробки Magento поставляется с группами "Общая информация", "Настройки отображения", "Пользовательский дизайн" и "Товары категории" для объектов категории. Однако, если вы должны были указать имя группы, которое не существует, сценарий установки будет знать, как создать эту группу для вас и добавить ваш новый атрибут категории в новую группу. Вкладка автоматически появится для вас в администраторе.
 6
Author: Darren Felton, 2015-01-13 18:54:17

Эта проблема возникает только при новых установках Magento 1.9.1.

Проблема в том, что атрибут миниатюры создается модулем Mage_XmlConnect, который стал неактивным с 1.9.1.

Таким образом, вы можете либо исправить это, включив модуль Mage_XmlConnect:

  1. Открыть /app/etc/modules/Mage_XmlConnect.xml
  2. Найдите строку <active>false</active> и замените ее на <active>true</active>
  3. Перейдите на страницу Управления кэшем и очистите хранилище кэша.
 8
Author: Vova Yatsyuk, 2015-02-19 15:05:57

Заменить <active>false</active> на <active>true</active> в "/app/etc/modules/Mage_XmlConnect.xml "

Вышеуказанные изменения отлично работают в Magento 1.9.2.4

 1
Author: cadsifu, 2016-07-22 19:32:19