这是php文件,请问如何在内容模板中写标题和内容呢?请大神给写一个单条内容的模板。谢谢了,,由于代码太长,我删了一部份,急用,谢谢各位好心人了
<?phpclass blog extends top{ function __construct(){ parent::__construct(); } //获取feeds function feeds(){ if($this->spArgs('uid')){ $uid = (int) $this->spArgs('uid'); $cond = "and b.uid = '$uid'"; } if($this->spArgs('pagelimit')){ $pageLimit = ($this->spArgs('pagelimit') < 30) ? $this->spArgs('pagelimit') : 30 ; //自定义分页 }else{ $pageLimit = $this->yb['show_page_num']; } //LEFT JOIN `".DBPRE."follow` AS f ON ( b.uid = f.touid and f.uid = '$uid' ) $sql = "SELECT b. * , k.id AS likeid ,m.username,m.domain FROM `".DBPRE."blog` AS b LEFT JOIN `".DBPRE."likes` AS k ON ( b.bid = k.bid AND k.uid ='$this->uid' ) LEFT JOIN `".DBPRE."member` as m on b.uid = m.uid where b.open = 1 $cond ORDER BY b.time desc"; $data['blog'] = spClass('db_blog')->spPager($this->spArgs('page',1),$pageLimit)->findSql($sql); $data['page'] = spClass('db_blog')->spPager()->getPager(); unset($data['page']['all_pages']); if(!empty($data['blog'])){ foreach($data['blog'] as &$d){ $this->foramt_feeds($d); } $this->api_success($data); }else{ $this->api_success(""); } } //获取单个博客 function getOneBlog(){ $bid = (int) $this->spArgs('bid'); $sql = "SELECT b. * , k.id AS likeid ,m.username,m.domain FROM `".DBPRE."blog` AS b LEFT JOIN `".DBPRE."likes` AS k ON ( b.bid = k.bid AND k.uid ='$this->uid' ) LEFT JOIN `".DBPRE."member` as m on b.uid = m.uid where b.open in (1,-2) and b.bid = '$bid'"; $data['blog'] = spClass('db_blog')->findSql($sql); foreach($data['blog'] as &$d){ $this->foramt_feeds($d,0); } $this->api_success($data); } //获取我关注的用户feeds function followfeeds(){ $followuid = spClass('db_follow')->getFollowUid($this->uid); if($followuid){ $sql = "SELECT b. * , k.id AS likeid ,m.username,m.domain FROM `".DBPRE."blog` AS b LEFT JOIN `".DBPRE."likes` AS k ON ( b.bid = k.bid AND k.uid ='$this->uid' ) LEFT JOIN `".DBPRE."member` as m on b.uid = m.uid where b.open = 1"; $sql .= " and b.uid in ($followuid) and b.open=1 ORDER BY b.time desc"; $data['blog'] = spClass('db_blog')->spPager($this->spArgs('page',1),10)->findSql($sql); $data['page'] = spClass('db_blog')->spPager()->getPager(); foreach($data['blog'] as &$d){ $this->foramt_feeds($d); } } $this->api_success($data); } /*获取随机推荐图片列表,首页用的*/ function recommendImg(){ $type = 3; //获取图像 $cachename = 'recommend_shuffle_'.$type; if(!spAccess('r',$cachename)){ $recommend = spClass('db_blog')->recommend_shuffle($type); foreach($recommend as $d){ $body = split_attribute($d['body']); if(is_array($body['attr']['img'])){ foreach($body['attr']['img'] as $img){ $imgs[] = array('bid'=>$d['bid'], 'uid'=>$d['uid'], 'img'=>$img['url'], 'username'=>$d['user']['username'], 'h_url'=>goUserHome(array('uid'=>$d['user']['uid'])), 'h_img'=>avatar(array('uid'=>$d['user']['uid'],'size'=>'small')), 'b_url'=>goUserBlog(array('bid'=>$d['bid'],'domain'=>$d['user']['domain'],'uid'=>$d['user']['uid'])) ); } } } spAccess('w',$cachename,$imgs,86400); }else{ $imgs = spAccess('r',$cachename); } $count = count($imgs); $numbers = range (0,$count-1); shuffle($numbers); $queue = array_slice($numbers,0,1); $result = array(); foreach($queue as $d){ $result = $imgs[$d]; } $this->api_success($result); } //发现频道 随机发现最新的100个博客内容,取前15个 function discoverBlog(){ $num = ($this->spArgs('num')) ? $this->spArgs('num') : 15; $page = ($this->spArgs('page',0)) ? $num * ($this->spArgs('page')-1) : 0; $isshuffle = ($this->spArgs('isshuffle',0)) ? 1 : 0; $type = 'all'; $cachename = 'recommend_shuffle_'.$type; if(!spAccess('r',$cachename)){ $recommend = spClass('db_blog')->recommend_shuffle($type,150);//条数 15*10 $data = array(); foreach($recommend as $d){ $body = split_attribute($d['body']); if($d['type'] == 1){ $d['attr'] = ' '; } if($d['type'] == 3){ $d['attr'] = $body['attr']['img'][0]['url']; } if($d['type'] == 2 || $d['type'] == 4){ if(!empty($body['attr'])){ if(is_array($body['attr'])){ if( count($body['attr']) <= 1){ if($body['attr']['type'] == 'yinyuetai'){ //对音乐台特殊处理 $d['attr'] = 'index.php?c=blog&a=getyytimg&src=' . $body['attr']['img']; }else{ $d['attr'] = $body['attr']['img']; //将图片返回给前台 } }else{ if($body['attr'][0]['type'] == 'yinyuetai'){ //对音乐台特殊处理 $d['attr'] = 'index.php?c=blog&a=getyytimg&src=' . $body['attr'][0]['img']; }else{ $d['attr'] = $body['attr'][0]['img']; //将图片返回给前台 } } } }else{ $d['attr'] =$body['attr']; } } if($d['attr']){ $data[] = array('bid'=>$d['bid'], 'title'=>$d['title'], 'body'=>utf8_substr(strip_tags($body['body']),0,120), 'type'=>$d['type'], 'uid'=>$d['uid'], 'username'=>$d['user']['username'], 'b_url'=>goUserBlog(array('bid'=>$d['bid'],'domain'=>$d['user']['domain'],'uid'=>$d['user']['uid'])), 'tag'=>($d['tag'] != '') ? array_shift((explode(',',$d['tag']))) : '', 'img'=>$d['attr'] ); } } unset($recommend); spAccess('w',$cachename,$data,86400); }else{ $data = spAccess('r',$cachename); } $count = count($data); $numbers = range (0,$count-1); if($isshuffle){ shuffle($numbers); } $queue = array_slice($numbers,$page,$num); $result = array(); foreach($queue as $d){ $result[] = $data[$d]; } unset($data); $this->api_success($result); } /*发现频道 随机发现20个tag model 已缓存*/ function discovertag(){ $tags = spClass('db_tags')->discoverTag(); $maxhit = 0; foreach($tags as &$d){ if($d['hit'] > $maxhit){ $maxhit = $d['hit']; } if(is_array($d['ulist'])){ foreach($d['ulist'] as &$list){ $list['h_url'] = goUserHome(array('uid'=>$list['uid'], 'domain'=>$list['domain'])); $list['h_img'] = avatar(array('uid'=>$list['uid'],'size'=>'small')); } } } $data = array(); $data['maxhit'] = $maxhit; $data['data'] = $tags; $this->api_success($data); } /*推荐频道 推荐用户*/ function recommendUser(){ //如果是自动推荐模式 if($this->yb['recomm_switch'] != 1){ $data = spClass('db_tags_blog')->findUserBytid($this->spArgs(),$this->uid); foreach($data['data'] as & $d){ $d['h_url'] = goUserHome(array('uid'=>$d['uid'], 'domain'=>$d['domain'])); $d['h_img'] = avatar(array('uid'=>$d['uid'],'size'=>'big')); $d['logtime'] = ybtime(array('time'=>$d['logtime'])); $d['sign'] = strip_tags($d['sign']); $d['isfollow'] = ($d['isfollow'] == $this->uid) ? true: false; $d['blogtag'] = ($d['blogtag'] != '' ) ? explode(',',$d['blogtag']) : ''; } }else{ } $this->api_success($data); } /*首页获取评论*/ function reply(){ $bid = $this->spArgs('bid'); $result = spClass('db_replay')->spLinker()->spPager($this->spArgs('page',1),$this->spArgs('limit',10))->findAll(array('bid'=>$bid),'time desc',''); $pager = ''; $data = array(); $data['page'] = spClass('db_replay')->spPager()->getPager(); foreach($result as &$d){ $d['msg'] = strip_tags(strreplaces($this->parse_uid($d['msg']))); $d['h_url'] = goUserHome(array('uid'=>$d['uid'], 'domain'=>$d['domain'])); $d['h_img'] = avatar(array('uid'=>$d['uid'],'size'=>'small')); $d['time'] = ybtime(array('time'=>$d['time'])); $d['del_flag'] = islogin() ? 1:0; $d['rep_flag'] = ( $this->uid != $d['uid'] && $this->uid != '') ? 1:0; } $data['body'] = $result; $this->api_success($data); } //处理feeds给前端显示 //$split 是否截断内容 private function foramt_feeds(& $d,$split=1){ $d['more'] = 0; $d['h_url'] = goUserHome(array('uid'=>$d['uid'], 'domain'=>$d['domain'])); $d['h_img'] = avatar(array('uid'=>$d['uid'],'size'=>'middle')); $d['b_url'] = goUserBlog(array('bid'=>$d['bid'],'domain'=>$d['domain'],'uid'=>$d['uid'])); $d['tag'] = ($d['tag'] != '') ? explode(',',$d['tag']) : ''; $d['time_y'] = date('Y.m',$d['time']); $d['time_d'] = date('d',$d['time']); $d['time'] = ybtime(array('time'=>$d['time'])); $rs = split_attribute($d['body']); $d['attr'] = $rs['attr']; $d['repto'] = $rs['repto']; if(!empty($d['repto'])){ $d['repto']['h_url'] = goUserHome(array('uid'=>$d['repto']['uid'], 'domain'=>$d['repto']['domain'])); $d['repto']['h_img'] = avatar(array('uid'=>$d['repto']['uid'],'size'=>'small')); }else{ $d['repto'] = null; } if($split == 1){ $d['body'] = utf8_substr(strip_tags($rs['body'],'<br><p><embed>'),0,500); }else{ $d['body'] = strip_tags($rs['body'],'<br><p><embed>'); } if($d['body'] == false){ $d['body'] = ''; } $d['more'] = (utf8_strlen($rs['body']) > 500) ? 1: 0; //处理音乐和视频 if($d['type'] == 2 || $d['type'] == 4){ if(count($d['attr']) > 4){ $d['mode'] = 1; if($split == 1){ $d['attr'] = array_slice($d['attr'],0,4); } } } //处理图片,超过10个就任务more if($d['type'] == 3){ if($split == 1){ if($d['attr']['count'] > 10){ $d['attr']['img'] = array_slice($d['attr']['img'],0,10); $d['mode'] = 1; } } } //如果显示全部则把more改成0 if($split != 1){ $d['show_reply'] = 1; //展开评论 } } }
回复讨论(解决方案)
你贴出的代码只是如何取得数据
并没给出数据如何写到模板
你贴出的代码只是如何取得数据
并没给出数据如何写到模板
这是模板是JS调用的,我不想用js调用,想直接写到模板里
{include file="theme/default/header.html" titles=$data.title}{include file="require_models_js.html"}<div id="wrap"> <div id="main"> {include file="theme/default/userheader.html"} <div id="mytag"> {if !empty($data.0.tag)} {foreach $data.0.tag as $d} <li><a href="{spUrl c=blog a=tag tag=$d}"><span>{$d}</span></a></li> {/foreach} {/if} <div class="clear"></div> </div> <div id="feedArea"> <script type="text/javascript"> $(document).ready(function(){ yb_load_feeds('blog','getOneBlog',{ bid:{$bid} } ); }) </script> <div id="feed_loading"></div> <div id="feed_box"></div> <div class="clear"></div> {if isset($adunit.6) && $adunit.6.is_show == 1} <div id="ad_theme_list"></div> <script> $(document).ready(function(){ ad_aside('#ad_theme_list',6); setInterval(function(){ ad_aside('#ad_theme_list',6); }, 30000); }) </script> {/if} <div class="favatitle">谁喜欢<span>{$fava.count}</span></div> {if $fava.count !=0} <div class="fava"> {foreach from=$fava.rs item=d} <a href="{goUserHome domain=$d.domain uid=$d.uid}" title="{$d.username} - {ybtime time=$d.time}"><img src="/static/imghwm/default1.png" data-src="{avatar uid=$d.uid size=small}" class="lazy" alt="{$d.username}"/></a> {/foreach} <div class="clear"></div> </div> {/if} <div id="comment"></div> <script> $(document).ready(function(){ loadCommend('comment',{$bid}); }); </script> </div> </div> <div id="aside"> {include file="theme/default/aside.html"} </div></div>{include file="theme/default/footer.html"}
那就需要看到到达浏览器的 html 代码,并从其中分析出数据是如何读取的
那就需要看到到达浏览器的 html 代码,并从其中分析出数据是如何读取的 您看一下这个网站www.shanzhaicun.com
好像就是这个 yb_load_feeds 函数吧,贴出他的代码
你那些紧凑格式的 js 看得人头发晕
好像就是这个 yb_load_feeds 函数吧,贴出他的代码
你那些紧凑格式的 js 看得人头发晕 我也找不到这个在哪里
好像就是这个 yb_load_feeds 函数吧,贴出他的代码
你那些紧凑格式的 js 看得人头发晕 看到这样的代码是不是您要看的
template('feed_template', '{each blog as data i} <div class="box" id="blog_{data.bid}"> {include tpl_header_define(\'header\') data} {include tpl_feed_define(data.type) data} {if data.show_reply ==1} {include tpl_header_define(\'infooter\') data} {else} {include tpl_header_define(\'footer\') data} {/if} <div class="clear"></div> </div> {/each}');template('tmpl_model_header', '<div class="date"><div class="month">{time_y}</div><div class="day">{time_d}</div></div> <div class="title" id="box_title"><a href="{b_url}">{if top ==1}[\u7f6e\u9876]{/if}{if title != null}{title}{/if}</a></div>');template('tmpl_model_1', '<div id="feedText_{bid}" class="content"> <div class="text_area_all"> <p> {if attr.length >0} {each attr as img i} {if i <1} <img src="/static/imghwm/default1.png" data-src="{img}" class="lazy" style="max-width:90%"/ alt="请问如何在内容模板中写标题和内容呢" >{/if} {/each} {/if} {body}</p> <div class="clear"></div> </div> </div>');template('tmpl_model_2', '<div id="feedText_{bid}" class="content"> {if attr.length > 0} {each attr as m i} {if m.type == \'local\'} <div class="album" id="swf_cover_{bid}_{i}"> <div class="cover"> <div class="cover_img"></div> <img src="/static/imghwm/default1.png" data-src="{m.img}" class="lazy" / alt="请问如何在内容模板中写标题和内容呢" > </div> <div class="cover_title">{m.title} - {m.author}</div> <div class="cover_fun"><a href="javascrpt:void(0)" onclick="window.location.href={urlpath()}/{m.url}"><span class="download">\u4e0b\u8f7d\u97f3\u4e50</span></a></div> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="340" style="max-width:90%"> <param name="movie" value="{flashpath(m.url)}" /> <param name="quality" value="high" /> <param value="transparent" name="wmode" /> <embed src="{flashpath(m.url)}" width="340" height="33" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed> </object> </div> {/if} {if m.type == \'xiamisearch\' || m.type == \'xiami\'} <div class="album"> <div class="cover"> <div class="cover_img"></div> <img src="/static/imghwm/default1.png" data-src="{m.img}" class="lazy" / alt="请问如何在内容模板中写标题和内容呢" > </div> {if m.title != \'null\' && m.author != \'null\'} <div class="cover_title"> <a href="{h_url}">{m.title} {m.author}</a> </div> {/if} <div class="cover_fun"> <a href="{m.url}" target="_blank"><span class="eject">\u5f39\u51fa\u64ad\u653e</span></a> </div> {if m.type == \'xiami\'} <embed src="http://www.xiami.com/widget/0_{m.pid}/singlePlayer.swf" type="application/x-shockwave-flash" width="340" style="max-width:90%" wmode="transparent"></embed> {else} <embed src="{m.pid}" type="application/x-shockwave-flash" width="340" height="33" wmode="transparent"></embed> {/if} </div> {/if} {if m.type == \'yinyuetai\'} <div class="video w240" id="swf_cover_{bid}_{i}"> <div class="video_bg"> <div class="video_song">{m.title}</div> <div class="video_name">{m.author}</div> <a href="javascript:" onclick="load_swf(\'yinyuetai\',{bid},{i},\'{m.title}\',\'{m.pid}\')"> <div class="video_play"></div><img src="/static/imghwm/default1.png" data-src="index.php?c=blog&a=getyytimg&src={m.img}" class="lazy" / alt="请问如何在内容模板中写标题和内容呢" > </a> </div> </div> <div style="max-width:90%" id="swf_play_{bid}_{i}"></div> {/if} {/each} {/if} {if body} <div class="text_area"> <p>{body}</p> </div> {/if} </div>');

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.

PHP에서는 클론 키워드를 사용하여 객체 사본을 만들고 \ _ \ _ Clone Magic 메소드를 통해 클로닝 동작을 사용자 정의하십시오. 1. 복제 키워드를 사용하여 얕은 사본을 만들어 객체의 속성을 복제하지만 객체의 속성은 아닙니다. 2. \ _ \ _ 클론 방법은 얕은 복사 문제를 피하기 위해 중첩 된 물체를 깊이 복사 할 수 있습니다. 3. 복제의 순환 참조 및 성능 문제를 피하고 클로닝 작업을 최적화하여 효율성을 향상시키기 위해주의를 기울이십시오.

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

HTTP 캐시 헤더의 주요 플레이어에는 캐시 제어, ETAG 및 최종 수정이 포함됩니다. 1. 캐시 제어는 캐싱 정책을 제어하는 데 사용됩니다. 예 : 캐시 제어 : Max-AGE = 3600, 공개. 2. ETAG는 고유 식별자를 통해 리소스 변경을 확인합니다. 예 : ETAG : "686897696A7C876B7E". 3. Last-modified는 리소스의 마지막 수정 시간을 나타냅니다. 예 : 마지막으로 변형 : Wed, 21oct201507 : 28 : 00GMT.

PHP에서 Password_hash 및 Password_Verify 기능을 사용하여 보안 비밀번호 해싱을 구현해야하며 MD5 또는 SHA1을 사용해서는 안됩니다. 1) Password_hash는 보안을 향상시키기 위해 소금 값이 포함 된 해시를 생성합니다. 2) Password_verify 암호를 확인하고 해시 값을 비교하여 보안을 보장합니다. 3) MD5 및 SHA1은 취약하고 소금 값이 부족하며 현대 암호 보안에는 적합하지 않습니다.

PHP는 동적 웹 개발 및 서버 측 응용 프로그램에 사용되는 서버 측 스크립팅 언어입니다. 1.PHP는 편집이 필요하지 않으며 빠른 발전에 적합한 해석 된 언어입니다. 2. PHP 코드는 HTML에 포함되어 웹 페이지를 쉽게 개발할 수 있습니다. 3. PHP는 서버 측 로직을 처리하고 HTML 출력을 생성하며 사용자 상호 작용 및 데이터 처리를 지원합니다. 4. PHP는 데이터베이스와 상호 작용하고 프로세스 양식 제출 및 서버 측 작업을 실행할 수 있습니다.

PHP는 지난 수십 년 동안 네트워크를 형성했으며 웹 개발에서 계속 중요한 역할을 할 것입니다. 1) PHP는 1994 년에 시작되었으며 MySQL과의 원활한 통합으로 인해 개발자에게 최초의 선택이되었습니다. 2) 핵심 기능에는 동적 컨텐츠 생성 및 데이터베이스와의 통합이 포함되며 웹 사이트를 실시간으로 업데이트하고 맞춤형 방식으로 표시 할 수 있습니다. 3) PHP의 광범위한 응용 및 생태계는 장기적인 영향을 미쳤지 만 버전 업데이트 및 보안 문제에 직면 해 있습니다. 4) PHP7의 출시와 같은 최근 몇 년간의 성능 향상을 통해 현대 언어와 경쟁 할 수 있습니다. 5) 앞으로 PHP는 컨테이너화 및 마이크로 서비스와 같은 새로운 도전을 다루어야하지만 유연성과 활발한 커뮤니티로 인해 적응력이 있습니다.

PHP의 핵심 이점에는 학습 용이성, 강력한 웹 개발 지원, 풍부한 라이브러리 및 프레임 워크, 고성능 및 확장 성, 크로스 플랫폼 호환성 및 비용 효율성이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 웹 서버와 우수한 통합 및 여러 데이터베이스를 지원합니다. 3) Laravel과 같은 강력한 프레임 워크가 있습니다. 4) 최적화를 통해 고성능을 달성 할 수 있습니다. 5) 여러 운영 체제 지원; 6) 개발 비용을 줄이기위한 오픈 소스.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
