请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 1912|回复: 2

speedy使用问题

[复制链接]
发表于 2015-10-21 14:45:51 | 显示全部楼层 |阅读模式
按照 j大 的教程,配置文件中的模板部分

  'view' => array (
    'enabled' => TRUE,
    'config' =>array(
      'template_dir' => APP_PATH.'/tpl',
    ),
    'engine_name' => 'speedy', // 模板引擎的类名称
    'engine_path' => SP_PATH.'/Drivers/speedy.php', // 模板引擎主类路径
  ),


控制器中
class main extends comController
{

  function index ()
  {
    $this->errmsg = $this->spArgs ('errmsg');
    $this->errmsg = urldecode ($this->errmsg);   
    $mod_work = spClass ("lib_work");
    $this->rs_list = $mod_work->getPihaoList ();
    var_dump ($this->rs_list);
    //$this->display ("index/index.html");
    $this->display ("index/index.php");
  } // function index () {}
}

tpl/index  
index.html
index.php

<?php
require (APP_PATH.'/tpl/share/top.php');
if ($errmsg != '') {
  print_r ($errmsg);
  print_r ('<hr />');
}


print <<<EOT
<hr />
<h3>批次、下载列表</h3>
EOT;
if ($rs_list) {
print <<<EOT
<table cellspacing="1" cellpadding="0" width="80%" text-align="center" align="center">
  <tr><td>批次</td><td>下载</td></tr>
EOT;
  foreach ( $rs_list as $key => $v ) {
  echo '<tr>'.PHP_EOL;
      $arr_args = array ("pihao" => $v['pihao']);
      echo '<td><a href="'.spUrl ("work", "updateProcList", $arr_args).'" target="_blank">'.$v['pihao'].'</a></td>'.PHP_EOL;
      if ($v['dwurl'] != '') {
      echo '<td><a href="'.$v['dwurl'].'" target="_blank">'.$v['pihao'].'.xls</a></td>'.PHP_EOL;
      }
      else {
      echo '<td>'.$v['pihao'].'未完成处理</td>'.PHP_EOL;
      }
  echo '</tr>'.PHP_EOL;
  }   
echo '</table>'.PHP_EOL;
}
else {
echo '<p>暂无</p>'.PHP_EOL;
}
require (APP_PATH.'/tpl/share/footer.php');
?>

以上代码,能 dump 出来数据集内容,但是页面无显示。

请 j大 指导下 speedy 模板具体使用方法


1、模板文件 是 html 还是 php


2、一般模板都会分解为页头、内容、页脚几个部分,speedy 模板中调用其它的模板文件
直接用 require 是否对,类似
require (APP_PATH.'/tpl/share/top.php');
这样

3、如果在 print <<<EOT
后面的静态文本中要插入 php 代码片段,是否可能,如果可能,怎么写
比如循环输出数据集字段数据时
print <<<EOT
<table>
<tr><td><?php echo $v['cnaps']; ?></td><td><?php echo $v['name']; ?></td><td><?php echo $v['stdname']; ?></td></tr>
</table>

EOT;
这种写法是否对?


PS:放弃 smarty 用 speedy 的缘由:
一个简单的小程序,前台模板中需要直接调用 php 函数处理一些数据


以上,麻烦 j大。











发表于 2015-10-21 15:15:04 | 显示全部楼层
1. 模板是php,因为实际上speedy就是include 一个PHP作为模板而已

2-3. 按上面的说法,用php作为模板,所以php怎么写,你的模板就可以怎么写。
 楼主| 发表于 2015-10-21 16:20:58 | 显示全部楼层
谢谢 j大, 终于会用 speedy 模板了
您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-8-6 02:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表