Magento Admin - 将徽标文本字段更改为图像上载

时间:2012-01-23 17:28:21

标签: magento-1.4 magento

我正在使用Magento v1.4.2

系统>下的管理员中配置>设计>头

是一个名为 Logo Image Src 的字段,它是一个文本字段。

我想将其更改为图像上传字段,类似于用于Favicon图标的图像(在页面下方的HTML Head下)。

我找到了大多数管理员字段的列表: 应用\代码\核心\法师\核心\等\的system.xml

但我在这里看不到favicon或Logo字段。如果我能找到这些字段被声明的地方,我猜想看看favicon字段并为标识做类似的事情并不会太难。

有谁知道我可以做到这一点的方式?

2 个答案:

答案 0 :(得分:1)

您无法找到它的原因是因为它不在Core模块中,您可以在Page模块[app\code\core\Mage\Page\etc\system.xml]中找到它。

答案 1 :(得分:1)

搞定了。 正如Cags指出的那样,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更改为徽标。

在课堂上取消: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');
    }

在不修改核心文件的情况下,可能有更好的方法,但这对我有用。