Blogger Information
Blog 50
fans 0
comment 0
visits 31438
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
模板与高亮
手机用户1580651468
Original
383 people have browsed it

模板与高亮

一. 仿写课堂中的列表与详情页模板

一)列表模板关键代码

1.模板文件代码

  1. <?php
  2. //模板类型表
  3. // 1.文本列表模板:如新闻列表
  4. // 2.图文列表:如产品列表
  5. // 3.详情页模板:文本,图文模板共用一套
  6. return
  7. [
  8. [
  9. 'id'=>1,
  10. 'name'=>'列表-文本-模板',
  11. 'style'=>[
  12. 'default'=>'list_text_default.php',
  13. 'light'=>'list_text_light.php',
  14. 'dark'=>'list_text_dark.php',
  15. ]
  16. ],
  17. [
  18. 'id'=>2,
  19. 'name'=>'列表-图文-模板',
  20. 'style'=>[
  21. 'default'=>'list_img_default.php',
  22. 'light'=>'list_img_light.php',
  23. 'dark'=>'list_img_dark.php',
  24. ]
  25. ],
  26. [
  27. 'id'=>3,
  28. 'name'=>'详情-通用-模板',
  29. 'style'=>[
  30. 'default'=>'detail_general_default.php',
  31. 'light'=>'detail_general_light.php',
  32. 'dark'=>'detail_general_dark.php',
  33. ]
  34. ],
  35. ];

2.头文件关键代码

  1. <?php
  2. session_start();
  3. // 1.统一加载配置文件
  4. require __DIR__.'/../../config/common.php';
  5. // 2.加载当前页面需要的数据
  6. $tdk = require DATA_PATH.'/tdk.php';
  7. //模板信息
  8. $tmpl =require DATA_PATH.'/tmpl.php';
  9. //栏目信息
  10. $cates = require DATA_PATH.'/cates.php';
  11. ?>
  12. .........
  13. <!-- //----------模板开始---------// -->
  14. <!-- 新闻列表导航 -->
  15. <?php
  16. //1.栏目的id
  17. $id=$cates[0]['id'];
  18. //2.栏目name
  19. $name=$cates[0]['name'];
  20. // 3.模板url
  21. $url=$tmpl[0]['style']['default'];
  22. ?>
  23. <a href="<?=$url.'?cid='.$id?>"><?=$name?></a>
  24. <!-- 产品列表导航 -->
  25. <?php
  26. //1.栏目的id
  27. $id=$cates[1]['id'];
  28. //2.栏目name
  29. $name=$cates[1]['name'];
  30. // 3.模板url
  31. $url=$tmpl[1]['style']['default'];
  32. ?>
  33. <a href="<?=$url.'?cid='.$id?>"><?=$name?></a>
  34. <!-- //----------模板结束---------// -->

3.列表页的关键代码

  1. <?php
  2. // 公共页眉
  3. require __DIR__ . '/template/public/header.php';
  4. // 用到的数据
  5. $arts = require DATA_PATH . '/arts.php';
  6. // 当前是模板,要知道显示哪个栏目的信息
  7. // $cid = intval($_GET['cid']);
  8. $cid = $_GET['cid'];
  9. // 详情页模板url
  10. $url = $tmpl[2]['style']['default'];
  11. // detail_general_default.php?cid=栏目id&id=文章id
  12. ?>
  13. <!-- 主体 -->
  14. <main>
  15. <!-- 新闻列表 -->
  16. <div class="news">
  17. <h3>新闻列表</h3>
  18. <div class="list">
  19. <!-- url中的默认全是字符串类型,不用全等,可触发自动转换 -->
  20. <?php foreach ($arts as $art) : ?>
  21. <?php if ($cid == $art['cid']) : ?>
  22. <a href="<?=$url.'?cid='.$cid.'&id='.$art['id']?>"><?=mb_substr($art['title'], 0, 17) ?>...</a>
  23. <?php endif ?>
  24. <?php endforeach ?>
  25. </div>
  26. </div>
  27. <!-- 分页条 -->
  28. <p class="pagebar">
  29. <a href="">1</a>
  30. <a href="">...</a>
  31. <a href="">6</a>
  32. <a href="">7</a>
  33. <a href="" class="active">8</a>
  34. <a href="">9</a>
  35. <a href="">10</a>
  36. <a href="">...</a>
  37. <a href="">20</a>
  38. </p>
  39. </main>
  40. <!-- 页脚 -->
  41. <?php
  42. // 公共页脚
  43. require TMPL_PATH_PUBLIC . '/footer.php';
  44. ?>
  45. <!--
  46. 1. 数据类型
  47. 2. 流程控制: 分支,循环, 替换语法
  48. -->

4.详情页的代码

  1. <?php
  2. // 公共页眉
  3. require __DIR__ . '/template/public/header.php';
  4. // 用到的数据
  5. $arts = require DATA_PATH . '/arts.php';
  6. // 栏目id
  7. $cid = $_GET['cid'];
  8. // 文章id
  9. $id = $_GET['id'];
  10. // 根据cid,id,查看要展示指定内容,只会有一个
  11. $result = array_filter($arts, function ($art) use ($cid, $id) {
  12. return $art['cid'] == $cid && $art['id'] == $id;
  13. });
  14. $art = array_shift($result);
  15. ?>
  16. <!DOCTYPE html>
  17. <html lang="zh-CN">
  18. <head>
  19. <meta charset="UTF-8">
  20. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  21. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  22. <title>Document</title>
  23. </head>
  24. <body style="height: 600px">
  25. <h3><?=$art['title']?></h3>
  26. <img src="<?=$art['img']?>" alt=""
  27. style="min-height: 200px;margin-top: -180px">
  28. <p><?=$art['content']?></p>
  29. </body>
  30. <!-- 页脚 -->
  31. <?php
  32. // 公共页脚
  33. require TMPL_PATH_PUBLIC . '/footer.php';
  34. ?>

5.完成的效果图


二. 实现导航高亮(提示,可用js 或 $_GET实现)

一)用js实现高亮

1.关键js代码

  1. <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
  2. <script type="text/javascript">
  3. const urlstr = location.href;
  4. const urlstatus=false;
  5. $("#menu a").each(function () {
  6. if ((urlstr + '/').indexOf($(this).attr('href')) > -1&&$(this).attr('href')!='') {
  7. $(this).addClass('cursel'); urlstatus = true;
  8. } else {
  9. $(this).removeClass('cursel');
  10. }
  11. });
  12. if (!urlstatus) {$("#menu a").eq(0).addClass('cursel'); }
  13. </script>

2.css代码

  1. <style>
  2. .menu { padding:0; margin:0; list-style-type:none;}
  3. .menu li { background:#FFD1A4; margin-right:1px; float:left; color:#fff; }
  4. .menu li a { display:block; width:60px; text-align:center; height:32px; line-height:32px; color:#fff; font-size:13px; text-decoration:none;}
  5. .cursel{ background:#D96C00; font-weight:bold;}
  6. </style>

3.实现效果图

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments