mSites and Smarty

目前的页面实现方式是需要向后台请求接口,返回 JSON 数据,动态拼接字符串塞进 DOM 中(innerHTML)。考虑用 Smarty 生成静态页面,可以在后台用 PHP 得到数据,字符串拼接,然后将变量赋值给 .tpl 模板文件,从而生成静态页面。

比如这样:

复制代码<?php
  header("Content-type: text/html; charset=utf-8"); 

  $url = '..';  // a url return json
  $content = file_get_contents($url);
  $data = json_decode($content);
  var_dump($data);
?>

$data 即为后台 JSON 对象,接下去可以提取需要的部分生成 HTML 字符串,赋值(assign)给 .tpl 文件中的相关变量。

鉴于对 PHP 的不熟悉,可以绕个弯路,用 JS 完成大部分工作。

  1. js 请求接口数据(ajax),动态生成需要的字符串
  2. 将生成的字符串以对象形式 POST 给 Smarty 的启动 php
  3. php 中通过 $_POST[] 得到这个数据(JSON 对象),然后 assign 给 模板文件。
posted @ 2017-05-18 14:42  张宇航  阅读(115)  评论(0编辑  收藏  举报
友情链接:回力 | 中老年女装 | 武汉英语培训机构 | SAT培训机构 | 托福培训机构