请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

全页面静态化那一课,最后我生成静态的页面中图片的路径错误

环境windows,其余都一样,数据库中pic_url地址类似/img/lovelife/smimg/loveshopping/img1.jpg,我插入channel.html中的网址也是上面那个,但是正确路径应该是/static/img/lovelife/smimg/loveshopping/img1.jpg,为什么老师的就能正确生成,我的就不行?

正在回答 回答被采纳积分+3

2回答

hallo_monde 2018-06-10 22:23:44
public function GetChannelPart($data, $i = 1)
{
    $html = file_get_contents(SITE_PATH . '/public/template/channel_part.html');
    $res_html = '';
    foreach ($data as $channel_data) {
        $part_html = $html;
        $part_sub_channel = $part_goods = $part_goods_foot = $part_brand = '';
        $part_html = str_replace('<{i}>', $i, $part_html);
        $part_html = str_replace('<{channel_title}>', $channel_data['Info']['title'], $part_html);
        //子栏目部分,
        foreach ($channel_data['SubChannel'] as $sub_channel) {
            $part_sub_channel .= "<li><a href=\"" . $sub_channel['url'] . "\">" . $sub_channel['title'] . "</a></li>";
        }
        $part_html = str_replace('<{channel_link}>', $part_sub_channel, $part_html);

        //商品部分,
        $part_html = str_replace('<{main_goods}>', '<a href="' . $channel_data['Goods'][1][0]['url'] . '"><img src="' . '/static' . $channel_data['Goods'][1][0]['pic_url'] . '"></a>', $part_html);

        //小商品部分,
        foreach ($channel_data['Goods'][2] as $good) {
            $part_goods .= '<li><a href="' . $good['url'] . '"><p>' . $good['title'] . '</p><p>' . $good['subtitle'] . '</p><img src="' . '/static' . $good['pic_url'] . '"></a></li>';
        }
        $part_html = str_replace('<{four_goods}>', $part_goods, $part_html);

        //小商品部分,
        foreach ($channel_data['Goods'][3] as $good) {
            $part_goods_foot .= '<li><a href="' . $good['url'] . '"><p>' . $good['title'] . '</p><p>' . $good['subtitle'] . '</p><img src="' . '/static' . $good['pic_url'] . '"></a></li>';
        }
        $part_html = str_replace('<{foot_goods}>', $part_goods_foot, $part_html);

        //品牌,,
        foreach ($channel_data['Brand'] as $good) {
            $part_brand .= '<li><a href="' . $good['url'] . '"><img src="' . '/static' . $good['pic_url'] . '"></a></li>';
        }
        $part_html = str_replace('<{brands}>', $part_brand, $part_html);


        $res_html .= $part_html;
        $i++;
    }

    return $res_html;

}

这样就好了


在给一个小提示,页面静态后,手机哪里,中兴新品下面会缺一张图片,原因是那一张三星手机的图片格式是png,而数据库里的是 jpg

1 回复 有任何疑惑可以回复我~
  • 提问者 海伦丶克里克 #1
    这个方法好,还简单,我都没想到,厉害
    回复 有任何疑惑可以回复我~ 2018-06-10 22:25:44
提问者 海伦丶克里克 2018-06-09 15:04:06

我自问自答,老师的数据库pic_url少了/static/,我看了两遍才看出来。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信