Magento Admin - измените текстовое поле логотипа на загрузку изображения - PullRequest
0 голосов
/ 23 января 2012

Я использую Magento v1.4.2

В Admin под Система> Конфигурация> Дизайн> Заголовок

это поле с именем Logo Image Src, который является текстовым полем.

Я хочу изменить это на поле загрузки изображения, аналогичное тому, которое используется для значка Favicon (в разделе HTML заголовок далее вверх по странице).

Я нашел список большинства полей администратора в: app \ code \ core \ Mage \ Core \ etc \ system.xml

Но я несм. поле "значок" или "логотип" здесь.Если бы я мог найти, где эти поля были объявлены, я думаю, что было бы не так уж сложно посмотреть на поле favicon и сделать что-то похожее на логотип.

Кто-нибудь знает, как я могу это сделать?этот?

Ответы [ 2 ]

1 голос
/ 24 января 2012

Получил это работает.Как указал Кэгс, поле загрузки favicon и поле логотипа объявлены в: [app\code\core\Mage\Page\etc\system.xml]

Я идентифицировал часть favicon, которая выглядит следующим образом:

<shortcut_icon translate="label comment">
    <label>Favicon Icon</label>
    <comment>Allowed file types: ICO, PNG, GIF, JPEG, APNG, SVG. Not all browsers support all these formats!</comment>
    <frontend_type>image</frontend_type>
    <backend_model>adminhtml/system_config_backend_image_favicon</backend_model>
    <base_url type="media" scope_info="1">favicon</base_url>
    <sort_order>5</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
</shortcut_icon>

И я нашел разделдля логотипа:

 <logo_src translate="label">
    <label>Logo Image Src</label>
    <frontend_type>text</frontend_type>
    <sort_order>10</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
</logo_src>

Поэтому, копируя структуру блока favicon, я изменил свой блок логотипа на:

<logo_src translate="label comment">
    <label>Logo Image Source</label>
    <comment>Allowed file types: PNG, GIF, JPEG. Not all browsers support all these formats!</comment>
    <frontend_type>image</frontend_type>
    <backend_model>adminhtml/system_config_backend_image_logo</backend_model>
    <base_url type="media" scope_info="1">logo</base_url>
    <sort_order>10</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
</logo_src>

Обратите внимание, что блок favicon имеет:

<backend_model>adminhtml/system_config_backend_image_favicon</backend_model>

Это означает, что он ссылается на файл: [app\code\core\Mage\Adminhtml\Model\System\Config\Backend\Image\Favicon.php].

Итак, я сделал копию этого файла в том же каталоге и назвал его Logo.php .Это означает, что я могу установить эквивалентное поле в своем блоке Logo на:

<backend_model>adminhtml/system_config_backend_image_logo</backend_model>

В файле Logo.php я в основном изменил некоторые ссылки с favicon на logo.

В объявлении класса:class Mage_Adminhtml_Model_System_Config_Backend_Image_Logo extends Mage_Adminhtml_Model_System_Config_Backend_Image

И в строке 41: const UPLOAD_DIR = 'logo';

А также исправлены принятые типы файлов просто png, gif, jpeg и jpg:

protected function _getAllowedExtensions()
    {
        return array('png', 'gif', 'jpeg', 'jpg');
    }

Естьвозможно, лучшие способы сделать это без изменения файлов ядра, но это сработало для меня.

1 голос
/ 23 января 2012

Причина, по которой вы не можете его найти, состоит в том, что его нет в модуле Core, вы найдете его в модуле Page [app\code\core\Mage\Page\etc\system.xml].

...