Laravel 拖拽式建站中如何给字符串模板中传入数据并在视图中展示

问题:在我们网站开发中,会遇到这样的问题,我们渲染模板、生成静态页过程或者拖拽式建站中,如何给字符串模板中传入数据并在视图中展示问题?

下面我测试了2中方法,一种是通过JS插入数据,另外一种是在后台程序中就把数据和模板处理好,统一给view渲染。

目前用的后台框架是laravel,其实只要了解了思路,什么语言,什么框架都一样处理。


1、后台程序处理

Controller:

public function index(Request $request){

    $data = ["你好!","早晨","很高兴和你","相遇!"];
    $html = '<ul class="ulSection">temple</ul>';
    $li = "";
    foreach ($data as $v){
        $li .= '<li>'.$v.'</li>';
    }
    $newHtml = str_replace("temple",$li,$html,$i);
    return view("index",compact("newHtml"));
}

View:

<div>{!! $newHtml !!}   </div>

结果:

网页源代码中:


2、JS处理

Controller

public function index(Request $request){


    $data = [1,2,3,4];
    $json_data = json_encode($data);
    $html = '<ul class="ulSection"></ul>';
    return view("index",compact("json_data","html"));
}

View

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>全球搜C端</title>
    <script src="http://www.alingfeng.cn/js/jquery.min.js"></script>
</head>
<body>
    <div>欢迎访问-全球搜C端-首页</div>
    <div>{!! $html !!}   </div>

</body>

JS

<script>
    const data = {{ $json_data }};
    console.log(data);


    var ulSection = $(".ulSection");

    var html = '';
    for (var i= 0; i < data.length ; i++){
        html += '<li>'+data[i]+'</li>';
    }
    ulSection.html(html);
</script>

结果:

网页源代码中:


总结:

由此可以看出,两种方法都能页面效果上达到效果。数据都成功放到html结构中。

但是,做网站开发的都知道。我们开发网站不一定全是用来做SEM的,我们很多网站都会用来做SEO,特别是官网和移动端网站,所以我们要考虑到我们的网站是能够被搜索引擎爬取收录的。

所以,我们最好用后台模板渲染,然后再把html输出到我们的页面中。


点赞1
点击评论0
收藏0
浏览 34
 

还没有评论,快来发表第一个评论吧

免责声明:凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,注册用户和一般页面游览者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任(包括侵权责任、合同责任和其它责任)
*尊重作者,转载请注明出处!