【问题标题】:Drupal - Page PHP prints images OK unless on admin / some user pagesDrupal - 页面 PHP 可以打印图像,除非在管理员/某些用户页面上
【发布时间】:2011-03-22 13:16:07
【问题描述】:

这是我在 page.tpl.php 中使用的代码:

<div id="beforefooter">
<?php print l('<img src="imagesmy/logo.jpg" />', '<front>', array('html' => TRUE)); ?>
</div>

<div id="afterfooter">
    <a href="http://www.site.com" target="_blank" >
        <img src="imagesmy/credit.jpg" />
    </a>
</div>

对于大多数页面,这可以正常工作,但在管理页面上时,图像不会显示。同样在某些用户页面(您需要注册才能查看)上,图像也不会显示。

从页面上的源代码来看,它在起作用和不起作用时似乎相同。

谢谢

【问题讨论】:

    标签: drupal drupal-theming


    【解决方案1】:

    尝试使用base_path()$base_path

    print l('&lt;img src="' . base_path() . 'imagesmy/logo.jpg" /&gt;', '&lt;front&gt;', array('html' =&gt; TRUE));

    不同页面上的图像路径是否完全相同?我看到一个类似的问题,它试图在“www.example.com/admin/imagesmy/logo.jpg 而不是在文档根目录中查找图像

    【讨论】:

    • 如何让 div#afterfooter 中的第二个链接正常工作?我已经尝试从一开始就调整您的代码,但我一定做错了什么。谢谢
    • print l('&lt;img src="' . base_path() . 'imagesmy/credit.jpg" /&gt;', 'http://www.site.com', array('html' =&gt; TRUE)); 应该可以工作
    • 使用:/imagesmy/credit.jpg" />
    • 是的,这些有时很挑剔。还有$base_url 可用。
    【解决方案2】:

    您也可以尝试使用drupal_get_path() 构建图像,它一定会解析到图像的正确位置。

    $img_path = drupal_get_path('theme', 'name-of-your-theme') . '/images/logo.png';
    $img = theme('image', $img_path, 'the-alt-text', 'the-title-text');
    print l( $img, '<front>', array('html' => TRUE));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      相关资源
      最近更新 更多