今天给各位分享phpcms最新文章的知识,其中也会对indexphp PHPCMS进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、PHPCMS如何调用最新文章,标签怎么写
- 2、phpcms v9首页怎么调用全站最新文章
- 3、phpcms 如何调用指定栏目下最新文章
- 4、phpcms怎么调用全站最新文章
- 5、PHPCMS如何调用多个分类栏目的最新文章
1、PHPCMS如何调用最新文章,标签怎么写
用get标签调用,然后按照文章id排序就行了,get标签可以分页的!
int inthestr(char *s,char ch)
{
while(*s!='\0'){
if(*s==ch)
return 1;
s++;
}
return 0;
}
2、phpcms v9首页怎么调用全站最新文章
没错还是我,大兄弟
Phpcms调用全站最新文章需要修改文件:\phpcms\modules\content\classes\content_tag.class.php,
找到以下函数:
/**
* 列表页标签
* @param $data
*/
public function lists($data) {
$catid = intval($data['catid']);
if(!$this-set_modelid($catid)) return false;
if(isset($data['where'])) {
$sql = $data['where'];
} else {
$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
if($this-category[$catid]['child']) {
$catids_str = $this-category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = "status=99 AND catid IN ($catids_str)".$thumb;
} else {
$sql = "status=99 AND catid='$catid'".$thumb;
}
}
$order = $data['order'];
$return = $this-db-select($sql, '*', $data['limit'], $order, '', 'id');
//调用副表的数据
if (isset($data['moreinfo']) intval($data['moreinfo']) == 1) {
$ids = array();
foreach ($return as $v) {
if (isset($v['id']) !emptyempty($v['id'])) {
$ids[] = $v['id'];
} else {
continue;
}
}
if (!emptyempty($ids)) {
$this-db-table_name = $this-db-table_name.'_data';
$ids = implode('\',\'', $ids);
$r = $this-db-select("`id` IN ('$ids')", '*', '', '', '', 'id');
if (!emptyempty($r)) {
foreach ($r as $k=$v) {
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
}
}
}
}
return $return;
}
修改为:
/**
* 列表页标签
* @param $data
*/
public function lists($data) {
$catid = intval($data['catid']);
if(isset($data['where'])) {
$sql = $data['where'];
} else {
$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
if(!emptyempty($catid)) {
if(!$this-set_modelid($catid)) return false;
if($this-category[$catid]['child']) {
$catids_str = $this-category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = "status=99 AND catid IN ($catids_str)".$thumb;
} else {
$sql = "status=99 AND catid='$catid'".$thumb;
}
}
else {
$sql = "status=99".$thumb;
}
}
$order = $data['order'];
$return = $this-db-select($sql, '*', $data['limit'], $order, '', 'id');
//调用副表的数据
if (isset($data['moreinfo']) intval($data['moreinfo']) == 1) {
$ids = array();
foreach ($return as $v) {
if (isset($v['id']) !emptyempty($v['id'])) {
$ids[] = $v['id'];
} else {
continue;
}
}
if (!emptyempty($ids)) {
$this-db-table_name = $this-db-table_name.'_data';
$ids = implode('\',\'', $ids);
$r = $this-db-select("`id` IN ('$ids')", '*', '', '', '', 'id');
if (!emptyempty($r)) {
foreach ($r as $k=$v) {
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
}
}
}
}
return $return;
}
修改代码后,即能调取全站最新文章。
调用方法:
{pc:content action="lists" num="10" order="id DESC" cache="3600"}
3、phpcms 如何调用指定栏目下最新文章
在前台模板中使用phpcms标签调取文章列表:
{pc:content action="lists" catid="1" num="10" order="inputtime desc"}
!--使用catid制定栏目,使用order属性设置添加时间倒序获取最新文章--
{loop $data $v}
a href="{$v['url']}"{$v['title']}/a
{/loop}
{/pc}
在后端php程序里获取最新文章列表,引入文章模型,select方法读取列表数据:
$db = pc_base::load_model("content_model");
$db-set_catid($catid); //$catid代表栏目id
$datas = $db-select(array('catid'=$catid,'status'=99),"*",10,'inputtime desc'); //$datas便是文章列表数组数据了
PS:标签与二次开发的使用可参看phpcms官方使用手册以及iphpcms的视频教程。
4、phpcms怎么调用全站最新文章
Phpcms默认不支持调用全站最新文章,那么需要调用全站最新文章的朋友可以参考下面的修改方法
需要修改文件:\phpcms\modules\content\classes\content_tag.class.php,找到以下函数:
复制代码代码如下:
/**
* 列表页标签
* @param $data
*/
public function lists($data) {
$catid = intval($data['catid']);
if(!$this-set_modelid($catid)) return false;
if(isset($data['where'])) {
$sql = $data['where'];
} else {
$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
if($this-category[$catid]['child']) {
$catids_str = $this-category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = "status=99 AND catid IN ($catids_str)".$thumb;
} else {
$sql = "status=99 AND catid='$catid'".$thumb;
}
}
$order = $data['order'];
$return = $this-db-select($sql, '*', $data['limit'], $order, '', 'id');
//调用副表的数据
if (isset($data['moreinfo']) intval($data['moreinfo']) == 1) {
$ids = array();
foreach ($return as $v) {
if (isset($v['id']) !empty($v['id'])) {
$ids[] = $v['id'];
} else {
continue;
}
}
if (!empty($ids)) {
$this-db-table_name = $this-db-table_name.'_data';
$ids = implode('\',\'', $ids);
$r = $this-db-select("`id` IN ('$ids')", '*', '', '', '', 'id');
if (!empty($r)) {
foreach ($r as $k=$v) {
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
}
}
}
}
return $return;
}
修改为‘
复制代码代码如下:
/**
* 列表页标签
* @param $data
*/
public function lists($data) {
$catid = intval($data['catid']);
if(isset($data['where'])) {
$sql = $data['where'];
} else {
$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
if(!empty($catid)) {
if(!$this-set_modelid($catid)) return false;
if($this-category[$catid]['child']) {
$catids_str = $this-category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = "status=99 AND catid IN ($catids_str)".$thumb;
} else {
$sql = "status=99 AND catid='$catid'".$thumb;
}
}
else {
$sql = "status=99".$thumb;
}
}
$order = $data['order'];
$return = $this-db-select($sql, '*', $data['limit'], $order, '', 'id');
//调用副表的数据
if (isset($data['moreinfo']) intval($data['moreinfo']) == 1) {
$ids = array();
foreach ($return as $v) {
if (isset($v['id']) !empty($v['id'])) {
$ids[] = $v['id'];
} else {
continue;
}
}
if (!empty($ids)) {
$this-db-table_name = $this-db-table_name.'_data';
$ids = implode('\',\'', $ids);
$r = $this-db-select("`id` IN ('$ids')", '*', '', '', '', 'id');
if (!empty($r)) {
foreach ($r as $k=$v) {
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
}
}
}
}
return $return;
}
修改代码后,即能调取全站最新文章。调用方法:
复制代码代码如下:
{pc:content action="lists" num="10" order="id DESC" cache="3600"
5、PHPCMS如何调用多个分类栏目的最新文章
如下代码:
{pc:get sql="SELECT * FROM v9_news WHERE catid in(1,3,5) ORDE
R BY id DESC" num="10"}
{loop $data $v}
lia href="{$v[url]}"{$v[title]}/a/li
{/loop}
{/pc}
上面调用了1,3,5分类的文章,这个是比较容易理解的,如果遇到上面提到的问题,大的分类下面又存在小的分类,那么利用上面的方法就没有办法调出子分类的内容了,所以我们要做的是如果直接分类那么直接显示分类ID,如果有小的分类,那么就显示所有的子分类ID,最后再把他们用逗号连接起来,同样可以实现相同的效果,看下面的代码:
?php
$assigncatid=array(23,24,19);
$str =array();
foreach($assigncatid as $row){
$str[]=$CATEGORYS[$row][arrchildid];
}
$finalcatid= implode(',', $str);
?
{pc:get sql="SELECT * FROM v9_news WHERE catid in($finalcatid) ORD
ER BY id DESC" num="14"}
{loop $data $v}
lia href="{$v[url]}"{$v[title]}/a/li
{/loop}
{/pc}
这里先了 3 个分类的ID,其中,23,24没有子分类,而19有许多子分类,$CATEGORYS[$row][arrchildid] 这一句很重要,如果没有子分类则直接显示该分类的ID,如果有子分类,就会以1,2,3,4,5这种格式将所有的子分类都显示出来,数组中有3个值,所以foreach后会形成3个数组,分别是大类23,24,以及19,43,44,其中,43,44均为19大类下面的子分类ID。
把这循环的三组数组赋给一个新的数组,然后在循环外用逗号切割成字符串,拼起来就是所有大类与子类了,如23,24,19,43,44这样,做到这里就实现了刚开始提出的问题。
另外一种方法调用代码如下:
{loop subcat(15) $k $v}
{php $subcatid[] = $k;}
{/loop}
{php $subcatid = implode(',', $subcatid);}
然后在读取SQL的条件中这样写 WHERE catid in($finalcatid)
关于phpcms最新文章和indexphp PHPCMS的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。