您的当前位置:首页 > 知识博客 > 建站经验

PHPCMS建站经验分享

时间:2024-02-14

在这里不对模型、模板设置、category,list,show等静态页面引入、配置文件(caches\configs\database.php 和 caches\configs\system.php)、缓存清理、附件地址替换、等逻辑讲解。

安装CMS-》删除所有栏目-》拷贝default文件夹-》配置文件夹里面的config文件-》后台重新配置站点,选模板风格-》开始引入HTML、JS、建立模型、建立栏目,为栏目选择模板、、、

只是罗列一些数据标签,比如如何获取当前栏目的上级的上级栏目url或者栏目名称、或者站点常量等常用数据标签总结,方便查阅。

网页title信息

1 <title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}</title>

站点地址

1 <a href="{siteurl($siteid)}" class="logo">2    <img src="{IMG_PATH}img/logo.png" alt="">3 </a>

获取栏目ID为1下面所有的栏目信息:

获取某一栏目下的所有栏目信息

1 {pc:content action="category" catid="1" num="25" siteid="$siteid" order="listorder ASC" return="data"}2      <?php $i = 1; ?>3     {loop $data $k $v}4      <a href="{$v[url]}"; class="navOption navOption{$i} <?php if($i<=3){echo "fl";}?> <?php if($i>3){echo "fr";}?>"><span class="en">{$v[catdir]}</span><span class="cn">{$v[catname]}</span></a>5     <?php $i++; ?>6    {/loop}7 {/pc}

 获取指定栏目ID下面的指定某一条信息

此时如何获取ID为2的里面的内容:

 1 <div class="textWrp"> 2           附近的车站:<br><br> 3              {pc:content action="lists" catid="2" num="25" siteid="$siteid" order="listorder ASC" return="data"} 4                   {loop $data $k $v} 5                     <?php if($k==2){ ?> 6                        <span>{$v[description]}</span> 7                     <?php }?> 8                  {/loop} 9            {/pc}10     </div>

此时是获取栏目ID为2也就是公共设置下面的ID为2的内容。

 

action为list或者category,一个是获取栏目信息,一个是获取栏目下面的内容信息。而order之中的排序,listorder是可以设置的,上面的排序左边那个可以输入排序ID进行排序。

数据表之中自带的在主表,自己设置的字段默认在副表,二者一并查出需要加上moreinfo="1".

 

点击某一栏目下面的某一篇文章详情的时候,页面跳转,此时不需要在用PC标签进行查询数据,直接就是酱紫的

1 <div class="content">2        <h2>{$title}</h2>3        <p>{$content}</p>4 </div>

页码切换(show页面):

1 <div class="changeArticle clearfix">2        <a href="{$previous_page[url]}" class="prev_article fl">上一篇:{$previous_page[title]}</a>3        <a href="{$next_page[url]}" class="next_article fr">下一篇:{$next_page[title]}</a>4  </div>

获取某一栏目下的所有内容信息:

比如此时我们要获取到公司简介(栏目下面已经没有栏目)栏目下面的所有内容(一共四篇文章):

数据标签:

 1 <div class="bg"> 2            <div class="imgl"> 3                 <img src="{IMG_PATH}img/img06.jpg" width="204" height="504" alt=""> 4            </div> 5             <ul class="showArea"> 6                     {pc:content action="lists" catid="$catid" moreinfo="1" num="25" page="$page"} 7                     <?php $i = 1; ?> 8                     {loop $data $v} 9                         <li class="<?php if($i==1){echo "now";}?>">10                             <div class="title">11                                 <h2>{$v[title]}</h2>12                                 <h3>{$v[en_name]}</h3>13                             </div>14                             <div class="content">15                                 {$v[content]}16                             </div>17                         </li>18                         <?php $i++; ?>19                    {/loop}20              {/pc}21         </ul>22   </div>

指定栏目对应的url:

1 <a href="{$CATEGORYS[7][url]}" class="backToList" >查看更多</a>

此时点击查看更多就相当于点击顶部导航栏的 “工程案例”。

 

假如地址栏上的catid是38,而我们想获取38的上级栏目的名称

 {[[parentid]][catname]}   //上级
  {

如何获取当前栏目ID的父栏目下面的所有子栏目信息:

 {pc:content action="category" catid="[][parentid]" num="25" siteid="" order="listorder ASC"
 ="data"         <?php  = 0; ?>            {loop                    <li style="<?php if(==0){echo "border:none";}?>">{[catname]}
              <i ="{if [catid]==} cur {/if}"></i>
            </li>          <?php ++; ?>       {/   {/pc}

时间处理:

1     <h3 class="data_box">2           <i>{date('d', $v['inputtime'])}</i>3           <em>{date('Y-m', $v['inputtime'])}</em>4     </h3>

获取当前栏目的父栏目下面的其中某一特定栏目的栏目信息

 {pc:content action="category" catid="[][parentid]" num="25"
     siteid="" order="listorder ASC" ="data"   {loop       <?php (==39){ ?> <dt>{[catname]}<i>{[description]}</i><em><b>首页</b>&nbsp;>&nbsp;<b>{[][catname]}</b></em></dt>     <?php } ?>   {/ {/pc}

上面呢,是获取当前栏目的父栏目下面的ID为39的子栏目的栏目信息;

1 {template "content","footer"}

包含某个公共部分。

分页的页码:

1 {$pages}  但是在PC标签里面需要加上: page="$page"

 拷贝default目录,然后一点点替换content文件夹里面的文件,与数据标签,选用哪个模板文件夹,在站点配置里面设置,扩展-》菜单管理可以设置后台菜单。

如何取出数组data之中的第六个数值:

 1 {pc:content action="lists" catid="21" moreinfo="1" num="25" page="$page"} 2                             <?php $key=1;?> 3                                 {loop $data $k $v} 4                                 <?php if($key==6){ ?> 5                             <div class="hb" id="multi" style="background-image:url({$v[shouyezhanshitupian]});"> 6                                 <a href="{$v[url]}"> 7                                     <div class="li_box liz li_h1" > 8                                         <h1>{$v[shouyexiaobiaoti]}</h1> 9                                         <p>{$v[chanpingongneng]}</p>10                                     </div>11                                 </a>12                             </div>13                             <?php } ?>14                             <?php $key++;?>15                         {/loop}16                      {/pc}

或者数组之中的任意个元素

 如何加载页面时候根据有无page数据(GET参数)来选择是否调用JS方法:

1 <script type="text/javascript">    
2      if(<?php echo $_GET['page'] ? $_GET['page'] : 0; ?>){3             c_tab('#left_tab3','au3','au_nav');4         }5 </script>

 后台登陆首页:

Phpcms->modules->admin->templates->login.tpl.php

 View Code

 前台表单:

然后将前台提交信息的表单name属性改成跟后台一样的;

改成这样,隐藏输入值也要传进去的

前台表单action改成那个调用的javascript代码;

当点击进去新闻内页时候,显示的上一篇下一篇按钮

1 <div class="changeArticle clearfix">2                 <a href="{$previous_page[url]}" class="prev_article fl">上一篇:{$previous_page[title]}</a>3                 <a href="{$next_page[url]}" class="next_article fr">下一篇:{$next_page[title]}</a>4             </div>

页码一般在list页面,直接{$page}就OK了,

page="$page"记得在Pc标签加上这一句话就好了,还有就是搜索功能的实现:

思路就是照着官方的发送搜索信息的表单改action还有hidden的数值:

首先当然是需要建立搜索字段了

主要建立了搜索分类时候,得到的typeid要是正确的,了解???发送表单要的

 1 <form action="{APP_PATH}index.php" method="get" target="_blank" > 2                     3                              <!-- <input type="hidden" name="m" value="search"/> 4                              <input type="hidden" name="c" value="index"/> 5                              <input type="hidden" name="a" value="init"/> 6                              <input type="hidden" name="typeid" value="54" id="typeid"/> 7                              <input type="hidden" name="siteid" value="1" id="siteid"/> 8                          <input type="text" name="q" id="q"/> 9                          <input type="submit" value="搜 索" class="button" />-->10                         <!-- {php $j=0}11                         {php $search_model = getcache('search_model_'.$siteid, 'search');}12                         {loop $search_model $k=>$v}13                         {php $j++;}14                             <a href="javascript:;" onclick="setmodel({$v['typeid']}, $(this));" style="outline:medium none;" hidefocus="true" {if $j==1 && $typeid=$v['typeid']} class="on" {/if}>{$v['name']}</a>{if $j != count($search_model)}<span> | </span>{/if}15                           {/loop}16                           {php unset($j);} -->17                           <input type="hidden" name="m" value="search"/>18                           <input type="hidden" name="c" value="index"/>19                           <input type="hidden" name="a" value="init"/>20                           <input type="hidden" name="typeid" value="54" id="typeid"/>21                           <input type="hidden" name="siteid" value="1" id="siteid"/>22                   <input type="text" class="text" name="q" id="q"style="float:left"/>23                   <input type="submit" value="搜 索" class="button" style="float:left"/>24             </form>

主要看看URL有没拼接正确,

然后就是找到搜索结果展示的页面,找到数据表单(搜索结果数据)并且改成自己网站的页面就OK了


欢迎咨询/Welcome to inquire
tel/vx:18842938855
qq:1685522781
email:1685522781@qq.com

Copyright © 2019-2024 baidu.bond


Whatsapp