簡體   English   中英

Yii2 中的自定義圖標

[英]Custom favicon in Yii2

我正在使用 Yii2 基本模板。 在 layouts/main.php 的 head 部分,我設置了

<link rel="shortcut icon" href="<?php echo Yii::$app->getHomeUrl(); ?>/favicon.ico" type="image/x-icon" />

或者

<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />

或...(依此類推),但似乎一切正常。 我的應用程序繼續顯示基本模板圖標而不是我的,它像往常一樣位於根 Web 文件夾中。

我知道我可以發布這個文件來避免這個問題,但我認為應該沒有必要。

我究竟做錯了什么? 無論如何,Yii2 是如何顯示其標准圖標的?

按照文檔中的描述設置圖標的另一種方法是將類似的內容添加到位於views/layouts下的main.php文件中。 $this->registerLinkTag(['rel' => 'icon', 'type' => 'image/png', 'href' => '/favicon.png']);

正如rkm提到的,這是因為瀏覽器緩存。 簡單的解決方法是添加類似../favicon.ico?v=1版本,瀏覽器將加載新版本。

您可以像在AppAsset.php文件中添加額外的行一樣簡單地執行此操作:

public $css = [
        [
            'href' => 'path-to-your-icon/icon-32x32.png',
            'rel' => 'icon',
            'sizes' => '32x32',
        ],
        [
            'href' => 'path-to-your-icon/icon-192x192.png',
            'rel' => 'icon',
            'sizes' => '192x192',
        ],
        [
            'href' => 'path-to-your-icon/icon-180x180.png',
            'rel' => 'apple-touch-icon-precomposed',
        ],
        'css/site.css',        
    ];

希望它會有所幫助。

我在 app/web 目錄中有 favicon.ico 並且下面的代碼工作正常

 <link rel="shortcut icon" href="<?php echo Yii::$app->request->baseUrl; ?>/favicon.ico" type="image/x-icon" />

而不是使用:

Yii::$app->request->baseUrl;

嘗試使用:

Yii::$app->assetManager->getPublishedUrl('@frontend/assets/dist')

第 1 步:在 ( common/config/params.php ) 中定義通用參數如下:

return [
    'adminEmail' => 'admin@example.com',
    'supportEmail' => 'support@example.com',
    'user.passwordResetTokenExpire' => 3600,    
    'commonPath' => '/<your_project_name>/common',
];

第 2 步:使用定義的commonPath顯示 favicon 圖標如下:

<link rel="shortcut icon" href="<?= Yii::$app->params['commonPath']; ?>/favicon.ico" type="image/x-icon" />

注意:將您的favicon.ico放在common/目錄中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM