Поле миниатюры вставки категории администратора исчезло
Я недавно установил Magento 1.9.1 и пытаюсь использовать миниатюры категорий (а также основное изображение).
Однако я перешел к Admin >> Catalog >> Manage Categories
, и, похоже, он исчез, я не могу добавить миниатюру категории.
Я проверил примечания к выпуску, и там нет упоминания об этом, я отключил несколько модулей, обзоры, PayPal и т.д.
Я также включил Плоские категории, но я пробовал включить/отключить все, кроме кажется, что он исчез:(
3 answers
Важные примечания перед началом работы:
- Для этого решения я буду называть наше Имя пакета "MyProject" и наше Имя модуля "Каталог". Если вы знакомы с разработкой расширений Magento, вы можете изменить эти имена по своему усмотрению, в противном случае просто выполните следующие действия как есть, и у вас должно быть поле отсутствующих миниатюр.
- Если кэширование отключено, вероятно, важно, чтобы никакие HTTP-запросы не попадали на сайт между шагом 2 и шаг 3. Я полагаю, что если это произойдет, Magento может попытаться найти сценарий установки версии 1.0.0 и, несмотря на то, что он не найден, пометить расширение как "установленное" в таблице
core_resource
, в результате чего сценарий установки на шаге 3 никогда не запустится. Простое решение, чтобы избежать этого, состоит в том, чтобы убедиться, что тип кэша "Конфигурация" включен , прежде чем следовать этим инструкциям. - Для шагов 2 и 3 создайте все необходимые каталоги для этих файлов. Пути важны здесь поэтому обратите пристальное внимание на имена каталогов, а также имена файлов. Имена файлов и каталогов также чувствительны к регистру.
- В конце этого я объясню, как при желании добавить еще больше дополнительных полей изображения. Если вы хотите это сделать, обязательно добавьте всю свою конфигурацию (описанную в шаге 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
.
Объяснение каждого шага:
- Этот файл сообщает Magento, что наше расширение существует, активно и где (на основе его имени и пула кодов) искать его файл конфигурации
- Этот файл является нашим основной файл конфигурации расширения. Для этого расширения мы просто даем ему номер версии (необходимый для запуска сценария установки) и указываем, что у него есть ресурсы установки.
- Это сценарий установки нашего расширения. Это то, что добавляет уменьшенное изображение обратно в Magento. Я предоставил значения конфигурации, чтобы вернуть его туда, где мы ожидали его увидеть в прошлом, рядом с "Изображением" на вкладке "Общая информация".
- Сам пояснительный...
Заключительные примечания:
- Изучая наш сценарий установки на шаге 3, можно увидеть, что было бы довольно легко добавить любое количество дополнительных полей изображений в категории, указав дополнительные массивы в переменной
$attributes
. Переменная$attributes
представляет собой паруkey=>value
значений'attribute_code' => $config_array
. - Если вам нужны дополнительные поля изображения, потребуется обновить по крайней мере "код атрибута" для каждого. Предпочтительно, метка и позиция должны быть также обновлено. Наконец, при желании можно также изменить "группу". Из коробки Magento поставляется с группами "Общая информация", "Настройки отображения", "Пользовательский дизайн" и "Товары категории" для объектов категории. Однако, если вы должны были указать имя группы, которое не существует, сценарий установки будет знать, как создать эту группу для вас и добавить ваш новый атрибут категории в новую группу. Вкладка автоматически появится для вас в администраторе.
Эта проблема возникает только при новых установках Magento 1.9.1.
Проблема в том, что атрибут миниатюры создается модулем Mage_XmlConnect
, который стал неактивным с 1.9.1.
Таким образом, вы можете либо исправить это, включив модуль Mage_XmlConnect:
- Открыть
/app/etc/modules/Mage_XmlConnect.xml
- Найдите строку
<active>false</active>
и замените ее на<active>true</active>
- Перейдите на страницу Управления кэшем и очистите хранилище кэша.
Заменить <active>false</active>
на <active>true</active>
в "/app/etc/modules/Mage_XmlConnect.xml "
Вышеуказанные изменения отлично работают в Magento 1.9.2.4