ICMS7模板制作及系统使用问题汇总1

官方手册:
https://www.icmsdev.com/doc/iCMS/modifiers.html 老
https://www.icmsdev.com/docs/ 新

icms_article表的值 提交时都会被转义 修改哪个文件能取消呢?

如: "
答:

 iSecurity.class.php 144,147行

        public static function escapeStr() {
            if (is_array()) {
                 = array_map(array(__CLASS__,'escapeStr'), );
            else{
                 = str_replace(array("\0","%00","\r"),'',);
                 = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F]/','', );
                //& => &
                 = preg_replace('/&(?!(#[0-9]+|[a-z]+);)/is', '&', );
                //&#xA9 => ©
                 = preg_replace('/&#x([a-fA-F0-9]{2,4});/', '&#x\1',);
                //  = str_replace(array('\"',"\'","\\"), array('"',''','\'), );
                 = str_replace(array("%3C", '<'), '&#60;', );
                 = str_replace(array("%3E", '>'), '&#62;', );
                //  = str_replace(array('"',"'"), array('&#34;','&#39;'), );
            }
            return ;
        }}

icms7 文章列表页标题优化添加翻页号

据我说只没有直接的标签调用当前页面号,而列表页必定有很多页,不利于seo
答:
有关分页功能的文件
\iPHP\core\iPages.class.php
\iPHP\core\iPagination.class.php
目前没有预留直接可用的代码

若不改动的情况使用
<!--{if $_GET.page}->第<!--{$_GET.page}--><!--{/if}->

可以在列表输出当前页码

列表页如何调用多图字段 多图字段如何转数组 如何调用值

<!--{iCMS:article:list loop="true"}-->
<!--{"$url_json=json_decode($article_list.morepic, true)"}-->
<!--{foreach key=key value=alist from="$url_json"}-->  
<p><img src="<!--{$alist }-->"></p>
<!--{/foreach}-->
<!--{/iCMS}-->

列表页截取10位数字后转为日期格式

<!--{$article_list.deliveryTime|cut:'5'|date:"Y-m-d H:i:s"}-->

deliveryTime是字段名 存储了13为时间戳

专题调用相关实例

如果专题文章字段值是今天就减去一天,是明天就不变

<!-- 限制精确的时间范围可以这样调用列表 -->
<!--{iCMS:article:list row="100" loop="true" startdate="2021-01-08 00:00:01" enddate="2021-01-08 23:59:59"}-->
<!-- 专题列表打印参数 -->
<!--{$topic|print_R}-->

 <!--{$iCMS.NOW|date:'Y-m-d'|assign:'r'}-->
 <!--{$iCMS.NOW|date:'Y年m月d'}-->
 系统当前时间

 根据专题文章自定义链接值生成今天和昨天时间 $t来调用
                         <!--生成今天$t和昨天$y时间-->
                         <!--{"$t=date('Y-m-d',time())"}-->
                         <!--{"$y=date('Y-m-d',strtotime('-1 day'))"}-->
<!--根据自定义链接值生成今天和昨天时间--> 

<!--{if $topic.clink=="today"}-->
<!--{"$t=date('Y-m-d',strtotime('-1 day'))"}-->
<!--{elseif $topic.clink=="tomorrow"}-->
<!--{"$t=date('Y-m-d',time())"}-->
<!--{else}-->
<!--{"$t=date('Y-m-d',time())"}-->
<!--{/if}-->

按专题文章页自定义链接值所设精确时间调用制定标签的文章列表
<!--{iCMS:article:list row="100" loop="true" tids="9" startdate="$t 00:00:01" enddate="$t 23:59:59"}-->
 <!--{$article_list.description}--><!--{$article_list.pubdate|date:'Y-m-d H:i:s'}--><!--{$article_list.tags}--><br>
 <!--{/iCMS}-->

如何打印当前数据集合

查看所有属性
<!--{|print_r-->
<!--{|print_r}--> //栏目内看
<!--{|print_R}--> //栏目内看数组
<!--{|print_r}--> //栏目列表看
<!--{$应用名_方法|print_R}--> //使用print_R查看所有属性
<!--{|print_r}--> //文章内容看
<!--{|print_r}--> //文章列表看
<!--{|print_r}--> //tags模板看
<!--{|print_r}--> //tags列表模板看}

自定义伪静态

rewrite "^/\w+/(\d+)$"     /article.php?id=$1 last;
rewrite "^/n/(\d+)/$"      /category.php?dir=$1 last;
rewrite "^/u/(.+)$"        /tag.php?tkey=$1 last;
rewrite "^/n/(\d+)/(\d+)/$" /category.php?dir=$1&page=$2 last;
rewrite "^/jm/(.+)$"        /topic.php?clink=$1 last;

这里之用了栏目及栏目分页、标签、文章、专题
专题这里用的是自定义链接 所以clink进行解析

自定义应用 实例

先新建一个自定义应用 设置好自定义字段 提交
再新建一个栏目到该应用,然后新建一篇文章抓包查看字段及信息

appid: 100
REFERER: /admincp.php?app=article&do=add
id: 
cid: 2
status: 1
title: 精简列表
saleAmt: 
inlimit: 
marketAmt: 
unlimit: 
buytime: 
praid: 
vesName: 
prid: 
ucid: 
_orig_pid: 
editor: admin
userid: 1
scores: 
credit: 
postime: 
mobile: 0
postype: 1
pubdate: 
clink: 
tpl: 
hits: 
hits_today: 
hits_yday: 
hits_week: 
hits_month: 
favorite: 
comments: 
good: 
bad: 
sortnum: 
weight:
``
添加处理地址
/admincp.php?app=xssp&do=save&frame=iPHP&CSRF_TOKEN=
内容页处理地址
/index.php?app=xssp&id=1
也就是说只需要以上参数或者几个自定义字段即可

发布接口插件修改行已经注释
第一项改为应用名
第二项就改为我这个

define('ADMINCP', 'admincp.php?app');
//定义为指定应用名即可xssp
define('APP_URI', ADMINCP . '=xssp');
define('APP_FURI', APP_URI );
define('APP_DOURI', APP_URI .'&do=save');

//设置自定义应用contentAdmincp即可
$keywordsAdmincp= new contentAdmincp();
$keywordsAdmincp->do_save();


## 待解决问题集
尚无

#### 本地问题数据库
/d/54/13
**外部icms数据**
https://www.lanbu.net/d/133/11