Yii2 - 为什么没有在子页面上显示图像

时间:2015-11-09 11:19:56

标签: yii2

在layouts \ main.php中,我添加了一个图像,该图像应显示在同一位置(标题)的每个页面上。我在main.php(布局)中添加了以下代码:

...
<div class="intl">
<a href="http://www.example.org" target="_blank>
<img src="../files/wsk/design/intl.png" alt="Text" align="right"> </img>
</a>
<br>
<a href="http://www.example.org" target="_blank">International</a>
<div>
...

图像显示在主页上,但不显示在附件或联系人等子页面上,如附图所示。如果有人能告诉我原因,我会很高兴的。

Yii2 - Homepage Yii2 - AboutPage

3 个答案:

答案 0 :(得分:0)

这是因为您使用了相关的图片路径(..)。

建议将此类图像放置在子文件夹web中的Web可访问目录(images)中,然后按以下方式访问它:/images/design/your-image-name.jpg

如果您的图片位于Web可访问目录之外,您也可以使用资源将其发布到那里。

答案 1 :(得分:0)

看起来可能与使用img标记中的相对URL有关。试试这个:

<img src="<?php echo Yii::app()->baseUrl; ?>files/wsk/design/intl.png" alt="Text" align="right">

如果仍然无效,请检查配置中的baseUrl是否正确指向包含index.php的文件夹,以确保您的网址都正确解析。

答案 2 :(得分:0)

在你的布局/主要添加Html助手

<?=
use yii\helpers\Html;
?>

现在您可以按

显示图像
<?= Html::img('path/to/your/imagefile', ['alt' => 'text', 'height' => '28', 'width' => '112']) ?>

或者您可以在项目的根目录中创建uploads文件夹并为其创建别名。这将使您的工作轻松在所有页面中显示图像。如果为uploads文件夹

设置了别名,则可以使用以下代码显示图像
<?= Html::img('@uploads/imagefile', ['alt' => 'text', 'height' => '28', 'width' => '112']) ?>