top-image

OLDER ARTICLES

快速添加内容只针对文章模型、产品模型、图片模型、下载模型等列表模型有效,其他模型内容编辑修改需要到栏目更改—“内容管理”里编辑;

点击发布文档—快捷发布—选择需要添加的栏目,点击下一步即可进入对应内容编辑界面,事先需要先到“管理栏目”中添加或编辑好栏目;

添加产品,文档,图集等内容,均包含常规信息、SEO设置、其他设置等基本设置,产品及图集有额外的产品属性及展示图片上传等操作选项
1、常规信息


文章标题:填写文档标题;
所属栏目:需要发布在哪个栏目下;
文档属性:用于前台页面内容筛选,比如首页里调用指定的类别文档,推荐新闻(flag=’c’);
封面图片:文档的缩略图,支持添加外部图片;
文章内容:文档正文部分。

2、seo设置

 

这儿可以配置这篇文档相关seo的设置。tag标签,需要前台模板有调用才会得以展现。

3、其他设置

这儿可以选择填入该文档相关参数,比如作者,或自定义文档浏览量(浏览量默认是随机数字,可以自行填写)等
阅读权限里可以选择是否在前台展示。排序数值越小,排在越前。

产品发布

较于文章发布增加的特性

展示图片:产品模型和图片模型均有此上传图集功能,可以添加多张图片;

产品参数:基于产品模型设计,即每个产品栏目均有自己独立的产品参数,比如手机栏目,则可设置“屏幕大小”,“手机品牌”等参数,并不会与电脑栏目的参数冲突。

Eyoucms 采用 PHP + Mysql 架构,是一款对 SEO 非常友好、功能全面、安全稳定、支持多终端展示并且使用起来极其简单的企业建站系统。

本地使用 Eyoucms 搭建网站步骤:

安装「Eyoucms」运行环境;
安装「Eyoucms」程序;
1、安装环境
1.1、下载环境包(点击下载)

1.2、安装环境

下载解压后,双击 .exe 的文件,进入安装流程,一直点击下一步操作;


1.3、运行 phpstudy

找到 phpstudy 服务开启图标,以后每次电脑开机重启都需要重新运行 phpstudy ;

打开控制界面,点击启动,Apache 和 Mysql 显示绿色就是成功。

1.4、找到网站根目录

网站根目录位置:安装的盘符 phpStudywww 网站程序文件需要放在网站根目录下才能正常运行访问,安装的时候可以设置 phpStudy 安装到哪个盘,打开对应的盘符,可以看到 phpStudy 文件夹。

到这里,运行环境已安装完成了

第一步,屏蔽检测文件

文件位置: applicationadmincontrollerArctype.php

找到代码病注释掉

				if (!empty($post['dirname']) && !$this->arctypeLogic->dirname_unique($post['dirname'], $post['id'])) {
                    $arctype_is_del = Db::name('arctype')->where(['dirname'=>$post['dirname'], 'lang'=>$this->admin_lang])->value('is_del');
                    if (empty($arctype_is_del)) {
                        $this->error('目录名称与系统内置冲突,请更改!');
                    } else {
                        $this->error('目录名称与回收站里的栏目冲突,请更改!');
                    }
                }

第二步, 虽然现取消了重复检测, 但如果提交重复路径, 系统会随机加3个数字,继续修改

文件位置: applicationcommonlogicArctypeLogic.php

找到代码并注释掉

        if (strval(intval($dirname)) == strval($dirname)) {
            if (preg_match('/^([0-9]+)$/i', $dirname)) {
                $dirname .= get_rand_str(3,0,0);
            } else {
                $dirname .= get_rand_str(3,0,2);
            }
        }
        $dirname = preg_replace('/(s)+/', '_', $dirname);
        if (!$this->dirname_unique($dirname, $id, $newDirnameArr)) {
            $nowDirname = $dirname.get_rand_str(3,0,2);
            return $this->get_dirname($typename, $nowDirname, $id, $newDirnameArr);
        }

第三步, 截止目录可以正常提交了, 但会报数据库错误。 

这一步, 需要进入数据库管理, 执行sql语句。 

alter table ey_arctype drop index dirname

执行结束后,就可以提交重复的目录名称了。

1. 后台图片上传提示:”上传失败:存储目录创建失败!“

给静态资源目录(根目录下的static文件夹)增加权限,一般755或者777权限,推荐755权限设置。

2. 网站打开提示:”未检测到您服务器环境的sqlite3数据库扩展…“

按照提示信息操作,检查php.ini中是否已经开启sqlite3扩展。

3. 网站打开提示:”No input file specifed.“

检查根目录是不是含有.user.ini文件,有的话删除掉,一般就可以了。如果还不行或者是在本地尝试重启Apache或者Nginx服务。

4. 网站提示:”会话目录写入权限不足“

对必备写入权限的文件夹添加755或者777权限,根目录下有:config目录(存放授权码与数据库配置文件)、data目录(存放sqlite数据库文件)、runtime目录(存放日志文件),注意的是为了更好的安全考虑,可自行调整权限,推荐755权限设置。

5. 后台登录提示:”登录失败:数据库目录写入权限不足!“

对数据库存放目录data设置755权限即可。

6. PbootCMS上传图片被压缩怎么解决

PbootCMS上传图片会被压缩像素,只需要打开根目录config文件夹下的config.php和core文件夹下的convention.php

上传配置

'upload' => array(
   'format' => 'jpg,jpeg,png,gif,xls,xlsx,doc,docx,ppt,pptx,rar,zip,pdf,txt,mp4,avi,flv,rmvb,mp3,otf,ttf',
   'max\_width' => '1920',
    'max\_height' => ''
  ),

缩略图配置

 'ico' => array(
 'max_width' => '1000', 
 'max_height' => '1000' 
), 

代码中的’max_width跟max_height参数调大即可,建议10000即可。 这样就解决了上传图片被压缩的问题。

pbootcms升级程序后报错 :Parse error: syntax error, unexpected ‘:’, expecting

由于pbootcms3.2版本不支持php7以下,所以打不开

解决方法

把站点环境切换至 php7.3就可以打开了,如果还是不行的话切换到7.0试试

启用独立手机版可以PC/移动分别设置模板

步骤说明

  • 1)在后台配置中开启手机版开关;
  • 2)在PC模板目录下面建立wap目录,放入模板文件,各模板文件名同PC。例如:default/wap;
  • 3)使用手机或者浏览器模拟手机进行访问。

标签作用:用于远程调取系统数据。

使用说明

  • 1)请先到后台进行API相关参数配置,强烈建议启用强制认证;
  • 2)客户端发起请求必须包含appid(认证用户)、timestamp(时间戳)、signature(签名)三个参数
  • 3)签名参数signature通过appid、secret、timestamp三个值连接为一个字符串,然后进行双层md5加密生成;

站内使用Ajax获取数据示例:

 <script>   
 $(document).ready(function (e) {     
  var url='/api.php/cms/site';  
  $.ajax({     
 type: 'POST',   
  url: url,  
  dataType: 'json',  
data: {     
appid: '{pboot:appid}',    
timestamp: '{pboot:timestamp}',   
  signature: '{pboot:signature}'      
       },         
 success: function (response, status) {  
if(response.code){      //获取数据成功           
       alert(response.data.title); 
   }else{      //返回错误数据               
   alert(response.data);    
      }         
    },         
   error:function(xhr,status,error){    
         //返回数据异常       
        alert('返回数据异常!');      
      }    
   });  
 });    

 </script>

此处使用了三个站内标签:{pboot:appid} 认证用户名、{pboot:timestamp} 时间戳、{pboot:signature} 认证签名 #### 1、网站信息接口

http://IP/api.php/cms/sitehttp://IP/api.php/cms/site/name/*  单个调用

注意此处和CMS标签比不带site前缀,所以返回整体数据和调取单个时直接写名称,如:标题title #### 2、公司信息接口

http://IP/api.php/cms/company  http://IP/api.php/cms/company/name/* 单个调用

注意此处和CMS标签比不带company前缀,所以返回整体数据和调取单个时直接写名称,如:名称name #### 3、自定义标签接口

http://IP/api.php/cms/label  http://IP/api.php/cms/label/name/*  单个调用

4、栏目列表树接口

http://IP/api.php/cms/nav  http://IP/api.php/cms/nav/scode/*   获取指定分类的子类

5、当前栏目位置接口

http://IP/api.php/cms/position/scode/*  此处传递当前栏目scode值

6、指定分类信息接口

http://IP/api.php/cms/sort/scode/* 此处传递需要调用栏目的scode值                

7、指定内容多图接口

http://IP/api.php/cms/pics/id/*  此处传递内容ID值                

8、幻灯片接口

http://IP/api.php/cms/slide/gid/*/num/*  此处传递分组gid及调取的数量num值,默认num为5                

9、友情链接接口

http://IP/api.php/cms/link/gid/*/num/*  此处传递分组gid及调取的数量num值,默认num为10                

10、指定内容列表接口

http://IP/api.php/list/*  此处传递需要调用的栏目scodehttp://IP/api.php/list/*/page/2 调取第二页,如果数据已获取完,返回类似{"code":0,"data":"已经到底了!","rowtotal":"5"}                

同时还支持URL中传递num/*参数控制数量,传递order/* 控制排序方式,用POST方式会更好传递值 #### 11、指定内容详情接口

http://IP/api.php/content/*  传递需要调用的内容ID(单页一样适用)

12、指定单页详情接口

http://IP/api.php/about/*  传递需要调用的单页scode

13、搜索内容接口

http://IP/api.php/cms/search   建议使用POST提交,keyword传递搜索关键字单条件搜索同时支持传递num/*参数控制数量,传递order/* 控制排序方式,建议POST方式可传递参数 field指定字段,多个用|隔开;可传递参数 scode指定分类,多个用逗号隔开;可传递参数 fuzzy等于0关闭模糊匹配,另外也可使用多数据库字段名称传递值来多条件搜索                

14、留言提交接口

http://IP/api.php/cms/addmsg  要求POST提交,传递的字段同后台自定义的留言字段                

15、留言内容接口

http://IP/api.php/cms/msg/num/*   传递num分页大小http://IP/api.php/cms/msg/num/*/page/2   调取第二页                

16、表单提交接口

http://IP/api.php/cms/addform/fcode/*  要求POST提交,fcode为表单编码,传递的字段同后台自定义的字段                

17、表单数据读取接口

http://IP/api.php/cms/form/fcode/*     传递fcode表单编码http://IP/api.php/cms/form/fcode/*/num/*/page/*   num控制条数,page控制页码                

温馨提示:

以上接口对于多语言(区域)的情况,请地址中附加acode参数指定语言,否则调用默认语言

标签作用:配置程序伪静态后URL中将不再包含index.php,整个地址更美观

1、IIS环境(IIS6的环境自行百度):

1)安装rewrite组件,如果使用空间一般空间商默认已经安装;

2)到后台配置参数中开启伪静态开关(老版本直接修改程序config/config.php文件url_type=2);

3)在站点目录建立web.config文件(老版本根目录下默认已有,去除后缀bak即可,新版本到rewrite目录下拷贝规则),手动建立的话规则如下:

<rewrite><rules>
<rule name="reIndex" stopProcessing="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="REQUEST_FILENAME" matchType="IsDirectory" negate="true" />
<add input="REQUEST_FILENAME" matchType="IsFile" negate="true" /></conditions>
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>

2、Apache环境

1)开启Apache重写模块,具体请百度,如果使用空间一般空间商默认已经开启;

2)到后台配置参数中开启伪静态开关(老版本直接修改程序config/config.php文件url_type=2);

3)在站点目录建立.htaccess文件(老版本根目录下默认已有,新版本到rewrite目录下拷贝规则),内容如下:

<IfModule mod_rewrite.c>
 Options +FollowSymlinks
 RewriteEngine On
 RewriteCond %REQUEST\_FILENAME !-d
RewriteCond %REQUEST\_FILENAME !-f
#如果页面出现"No input file specified." 请注释第一条,启用第二条
RewriteRule ^(.\*)$ index.php/$1 \[QSA,PT,L\]
#RewriteRule ^(.\*)$ index.php \[E=PATH\_INFO:$1,QSA,PT,L\]

2、Nginx环境

1、到后台配置参数中开启伪静态(老版本直接修改程序config/config.php文件url_type=2);

2、在nginx虚拟主机location配置中添加规则,规则如下:

    location / {  
  if (!-e $request_filename){  
  rewrite ^/(.)$ /index.php/$1 last;     
      }   
 }

注意:Nginx中如果站点部署在二级目录,请对应修改重写规则, 如:二级目录为test则:rewrite ^/test/(.)$ /test/index.php/$1 last;

附:nginx开启PHP及pathinfo支持的方法,在server内部添加如下内容:

location ~ \.php(.*)$ {
root D:/wwwroot;  #你的网站目录
fastcgi_pass 127.0.0.1:9000;  #php-cgi监听地址
fastcgi_index index.php;  #默认页
fastcgi_split_path_info ^(.+\.php)(.*)$;  #分离路径
fastcgi_param PATH_INFO $fastcgi_path_info;  #添加PATH_INFO信息
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}

标签作用:用于根据循环输出一段内容

1、Loop语句格式

    {pboot:loop start=* end=*}    
  <p>这是第[loop:i]次,索引号为[loop:index]</p> 
   {/pboot:loop}

控制参数:

start=* 起始数字,默认1开始

end=* 结束数字,必填

适用范围:全站任意地方均可使用

标签作用:用于用户提交表单和调取表单记录

1、使用步骤

  • 1)到后台”扩展内容>自定义表单“中添加表单
  • 2)对新增的表单添加字段
  • 3)到前台模板中新增form表单

问:为什么自定义表单后台添加字段没有类型选择???

答:表单中字段类型只不过是页面表现的形式,类型只需在前端模板中根据实际需要编写对应HTML表单字段类型即可,数据对于后端存储来说均为文本,那么PbootCMS的表单其实给与了最大的灵活性和通用性。

2、提交表单示例

<form action="{pboot:form fcode=*}"  method="post">    姓名:<input type="text" name="name" >    公司:<input type="text" name="company" >    职位:<input type="text" name="position" >    <button type="submit">提交</button></form>                   

表单提交方式为post,表单中提交的字段名称需要与后台自定义表单中添加的字段一致,否则会导致提交失败。 需要特别提醒的是,如果字段为多选类型,那么表单字段名称需要用中括号,比如选择爱好:

<input type="checkbox" name="like[]" >篮球 <input type="checkbox" name="like[]" >足球

标签说明:

{pboot:form fcode=*} 为表单接收地址,fcode对应后台接收表单的编码

注意:此处与留言板的提交地址不可混淆,留言使用专用地址,其余自定义表单则按照此处规则定义。

3、表单记录列表

{pboot:formlist fcode= num=}   
<p>姓名:[form:name]</p>   
<p>公司:[form:company]</p>  
<p>职位:[form:position]</p>
 {/pboot:formlist}                

调取的留言记录默认执行分页,使用内容列表的分页代码即可.
V1.3.3之前版本使用{pboot:form},但是如果同时使用提交表单会有冲突,所以变更了标签。
调取表单的内容的标签名称与自定义的表单字段一致。
控制参数:
fcode=* 表单编码,必填,用于控制调取的表单
num=* 数量,非必填,用于控制调取的记录分页大小
page=* 是否分页1或0,非必填,用于关闭分页

4、表单记录列表可用标签

[form:n] 序号从0开始
[form:i] 序号从1开始
[form:date] 提交时间
[form:*] 自定义的其它字段

适用范围:内容列表页使用,其实也可以用在首页等

标签作用:用于对内容列表进行筛选

1、使用步骤

  • 1)到后台对模型添加扩展字段,字段类型选择单选或多选,同时填写单选或多选的可选内容;
  • 2)添加对应模型的栏目,并对栏目添加内容;
  • 3)到前台模板中调用相关扩展字段进行输出,具体见下面的例子。

2、筛选调用标签

1)全部标签

{pboot:selectall field=* text=* class=* active=*} 

控制参数:

field=* 筛选的字段,必填,用于控制调取的筛选字段名称

text=* 显示文字,非必填,用于控制显示的文字,默认显示”全部“

class=* 非选中时样式,非必填,用于设置为文字非选中时的class常规样式

active=* 选中时样式,非必填,用于设置为文字选中时的class高亮样式

2)筛选值标签

{pboot:select field=*}<a href= "[select:link]">[select:value]</a> {/pboot:select}                

控制参数:

field=* 筛选的字段,必填,用于控制调取的筛选字段名称

一般情况下我们会有多个字段,那么只要重复上面的代码即可。

选中值高亮处理:{pboot:if(‘[select:value]’=='[select:current]’)}class= “active” {/pboot:if}

2)筛选可用标签

[select:i] 序号
[select:current] 当前选中值
[select:link] 链接
[select:value] 筛选值

3、多条件筛选示例

   <p> 
类型:{pboot:selectall field=ext_leixing text=全部 class='btn btn-light'  active='btnbtn-info'} |     {pboot:select field=ext_leixing}   {pboot:if([select:i]>1)}|{/pboot:if}     
  <a href="[select:link]"{pboot:if('[select:value]'=='[select:current]')}class="active" {/pboot:if}>[select:value]</a>    
 {/pboot:select}   </p> 
  <p>  颜色:
{pboot:selectall field=ext_yanse text=全部 class='btn btn-light' active='btnbtn-info'} |  {pboot:select field=ext_yanse}
{pboot:if([select:i]>1)}|{/pboot:if}  
 <a href="[select:link]"{pboot:if('[select:value]'=='[select:current]')}class="active" {/pboot:if}>[select:value]</a> 
 {/pboot:select} 
 </p>
Page 939 of 1049:« First« 936 937 938 939 940 941 942 »Last »
bottom-img