function seo_replace_variables($string, $vars) { //如果输入的文字是空的,那就直接返回空的字符串好了。 if (!$string) { return ''; } //调用ThinkPHP中的解析引擎解析变量 $view = new Think\View(); $view->assign('website_name', modC('WEB_SITE_NAME')); $view->assign($vars); $result = $view->fetch('', $string); //返回替换变量后的结果 return $result; }
public function profileContent($uid = null, $page = 1, $count = 10) { if ($uid != 0) { $result = $this->weiboApi->listAllWeibo($page, $count, array('uid' => $uid)); } else { $result = $this->weiboApi->listAllWeibo($page, $count, array('uid' => is_login())); } $view = new \Think\View(); $view->assign($result); $content = ''; $content = $view->fetch(T('Application://Weibo@Index/profile_content'), $content); return $content; }
public function profileContent($uid = null, $page = 1, $count = 15, $tab = null) { $tab = $tab ? $tab : 'forum'; $forums = $this->_getForumList(); $forum_key_value = array(); foreach ($forums as $f) { $forum_key_value[$f['id']] = $f; } if ($uid != 0) { $map['uid'] = $uid; } else { $map['uid'] = is_login(); } if ($tab == 'forum') { $map['status'] = 1; $result = $this->forum_postModel->where($map)->page($page, $count)->order('update_time desc')->select(); foreach ($result as &$v) { $v['forum'] = $forum_key_value[$v['forum_id']]; } } elseif ($tab == 'forum_in') { $map_in = $this->_getInMap($map); unset($map_in['uid']); $map_in['status'] = 1; $result = $this->forum_postModel->where($map_in)->page($page, $count)->order('update_time desc')->select(); foreach ($result as &$v) { $v['forum'] = $forum_key_value[$v['forum_id']]; } } $view = new \Think\View(); $view->assign('list', $result); $view->assign('tab', $tab); $view->assign('uid', $uid); $view->assign('type', 'forum'); $content = ''; $content = $view->fetch(T('Application://Forum@Index/profile_content'), $content); return $content; }
public function info() { $aGoodsId = I('get.info_id', 0, 'intval'); /*检查是否在可阅读组内*/ $can_post = CheckCanRead(is_login(), $aGoodsId); if (!$can_post) { $this->assign('jumpUrl', U('store/Index/index')); $this->error('对不起,您无权查看。'); } /*检查是否在可阅读组内end*/ if (is_login()) { $map_read['uid'] = is_login(); $map_read['info_id'] = $aGoodsId; $has_read = M('store_read')->where($map_read)->count(); if ($has_read) { M('store_read')->where($map_read)->setField('cTime', time()); } else { $map_read['cTime'] = time(); M('store_read')->add($map_read); } } /*得到实体信息*/ $map['info_id'] = $aGoodsId; $read = M('store_read')->where($map)->order('cTime desc')->limit(10)->select(); foreach ($read as $key => $v) { $read[$key]['user'] = query_user(array('nickname', 'space_url', 'avatar64'), $v['uid']); $read[$key]['user']['uid'] = $v['uid']; } $goodsModel = M('Goods'); $goods = $goodsModel->getById($aGoodsId); if (!$goods || $goods['status'] != 1) { $this->error('商品不存在。'); } if (!$goods) { $this->error('404未找到商品。'); } $this->setTitle('{$info.title|op_t} —— {$shop.title|op_t}'); $goods['read']++; M('Goods')->save($goods); $entity = M('store_entity')->find($goods['entity_id']); $assign['info'] = $goods; $assign['entity'] = $entity; //取出全部的字段数据 $map_field['entity_id'] = $entity['id']; $map_field['status'] = 1; $fields = M('store_field')->where($map_field)->order('sort desc')->select(); //确定是否过期 $now = time(); if ($now > $goods['over_time']) { $overed = '1'; $assign['overed'] = 1; } //获取到信息的数据 $goods['data'] = M('Data')->getByInfoId($goods['id']); /*得到实体信息end*/ $tpl = ''; /*构建自动生成模板*/ $assign['fields'] = $fields; //$tpl = R('SysTagRender', array(array('tpl' => $tpl, 'info' => $info)), 'Widget'); $assign['tpl'] = $tpl; $goods['reads'] = $read; $assign['info'] = $goods; if ($entity['use_detail'] == -1) { $detail = R('DefaultInfoTpl/render', array(array('fields' => $fields, 'info' => $goods)), 'Widget'); } else { /**默认模板添加**/ $assign['entity'] = M('store_entity')->find($goods['entity_id']); $assign['data'] = M('Data')->getByInfoId($goods['id']); $assign['user'] = query_user(array('nickname', 'space_url'), $goods['uid']); $assign['info_id'] = $goods['info_id']; //$assign['info']['com'] = M('Com')->getList($map, 5); $assign['mid'] = is_login(); /**默认模板添加end**/ $view = new \Think\View(); $view->assign($assign); $detail = $view->fetch(T('Application://Store@Tpls/' . $entity['use_detail']), ''); } $shop = M('Store/StoreShop')->getById($goods['shop_id']); $assign['shop'] = $shop; if (!$shop || $shop['status'] != 1) { $this->error('店铺不存在。'); } $assign['detail'] = $detail; $this->assign($assign); $this->display(); }
private function ParseUrl($pattern, $flag) { return function ($item) use($pattern, $flag) { $pattern = str_replace('###', $item[$flag], $pattern); //调用ThinkPHP中的解析引擎解析变量 $view = new \Think\View(); $view->assign($item); $pattern = $view->fetch('', $pattern); return U($pattern); }; }
/** * @param $pattern U函数解析的URL字符串,例如 Admin/Test/index?test_id=### * Admin/Test/index?test_id={other_id} * ###将被id替换 * {other_id}将被替换 * @return callable */ private function createDefaultGetUrlFunction($pattern) { return function ($item) use($pattern) { $pattern = str_replace('###', $item['id'], $pattern); //调用ThinkPHP中的解析引擎解析变量 $view = new \Think\View(); $view->assign($item); $pattern = $view->fetch('', $pattern); return U($pattern); }; }
/** * 详情页面 */ public function info() { /*检查是否在可阅读组内*/ $can_post = CheckCanRead(is_login(), I('get.info_id', 0, 'intval')); if (!$can_post) { $this->assign('jumpUrl', U('cat/Index/index')); $this->error('对不起,您无权阅读。'); } /*检查是否在可阅读组内end*/ if (is_login()) { $map_read['uid'] = is_login(); $map_read['info_id'] = I('get.info_id', 0, 'intval'); $has_read = D('cat_read')->where($map_read)->count(); if ($has_read) { D('cat_read')->where($map_read)->setField('cTime', time()); } else { $map_read['cTime'] = time(); D('cat_read')->add($map_read); } } /*得到实体信息*/ $map['info_id'] = I('get.info_id', 0, 'intval'); $read = D('cat_read')->where($map)->order('cTime desc')->limit(10)->select(); foreach ($read as $key => $v) { $read[$key]['user'] = query_user(array('nickname', 'space_url', 'avatar64'), $v['uid']); } $info = D('cat_info')->find(I('get.info_id', 0, 'intval')); $this->setTitle('{$info.title|op_t}'); $info['read']++; D('cat_info')->save($info); $entity = D('cat_entity')->find($info['entity_id']); $assign['info'] = $info; $assign['entity'] = $entity; //取出全部的字段数据 $map_field['entity_id'] = $entity['id']; $map_field['status'] = 1; $fields = D('cat_field')->where($map_field)->order('sort desc')->select(); //确定是否过期 $now = time(); if ($now > $info['over_time']) { $overed = '1'; $assign['overed'] = 1; } //获取到信息的数据 $info['data'] = D('Data')->getByInfoId($info['id']); /*得到实体信息end*/ $tpl = ''; /*构建自动生成模板*/ $assign['fields'] = $fields; //$tpl = R('SysTagRender', array(array('tpl' => $tpl, 'info' => $info)), 'Widget'); $assign['tpl'] = $tpl; $assign['info'] = $info; $info['reads'] = $read; if ($entity['use_detail'] == 0) { $detail = R('DefaultInfoTpl/render', array(array('fields' => $fields, 'info' => $info)), 'Widget'); } else { /**默认模板添加**/ $assign['entity'] = D('cat_entity')->find($info['entity_id']); $assign['data'] = D('Data')->getByInfoId($info['id']); $assign['user'] = query_user(array('nickname', 'spcae_url'), $info['uid']); $assign['info_id'] = $info['info_id']; //$assign['info']['com'] = D('Com')->getList($map, 5); $assign['mid'] = is_login(); /**默认模板添加end**/ $view = new \Think\View(); $view->assign($assign); $detail = $view->fetch(T('Application://Cat@Tpls/' . $entity['use_detail']), ''); } $assign['detail'] = $detail; $this->assign($assign); $this->display(); }