让网站底部的文章用help.php文件打开

更新时间:2012-10-20 点击量:874

目的:使帮助文档用不同于一般文档的模板来显示

解决思路:虽然底部网店信息是通过判断cat_id=2来调用article_pro.dwt模板,我们也可以根据cat_type=5来区分帮助文档和其它文档,但还是觉得单独建立一个文件help.php来调用帮助模板help.dwt的方法显示帮助文档好。

方法:用了一个很苯又不叫苯但很实用的方法(新建帮助文件help.php和模板文件help.dwt,然后修改两个系统函数build_uri()和get_shop_help()来实现)

1、复制artile.php文件重命名为help.php文件,不过里面的有些代码可以删掉,我只保留了如下代码(help.php文件):


  1.  
  2. <?php
     
  3. /**
     
  4. * ecshop 帮助内容
     
  5. * ============================================================================
     
  6. * 版权所有 2005-2008 上海商派网络科技有限公司,并保留所有权利。
     
  7. * 网站地址: />  
  8. * ----------------------------------------------------------------------------
     
  9. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
     
  10. * 使用;不允许对程序代码以任何形式任何目的的再发布。
     
  11. * ============================================================================
     
  12. * $Author: testyang $
     
  13. * $Id: article.php 15115 2008-10-28 09:43:36Z testyang $
     
  14. */
     
  15. define('IN_ECS', true);
     
  16. require(dirname(__FILE__) . '/includes/init.php');
     
  17. if ((DEBUG_MODE & 2) != 2)
     
  18. {
     
  19.     $smarty->caching = true;
     
  20. }
     
  21. /*------------------------------------------------------ */
     
  22. //-- INPUT
     
  23. /*------------------------------------------------------ */
     
  24. $_REQUEST['id'] = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : 0;
     
  25. $article_id     = $_REQUEST['id'];
     
  26. if(isset($_REQUEST['cat_id']) && $_REQUEST['cat_id'] < 0)
     
  27. {
     
  28.     $article_id = $db->getOne("SELECT article_id FROM " . $ecs->table('article') . " WHERE cat_id = '".intval($_REQUEST['cat_id'])."' ");
     
  29. }
     
  30. /*------------------------------------------------------ */
     
  31. //-- PROCESSOR
     
  32. /*------------------------------------------------------ */
     
  33. $cache_id = sprintf('%X', crc32($_REQUEST['id'] . '-' . $_CFG['lang']));
     
  34. if (!$smarty->is_cached('help.dwt', $cache_id))
     
  35. {
     
  36.     /* 文章详情 */
     
  37.     $article = get_article_info($article_id);
     
  38.     if (empty($article))
     
  39.     {
     
  40.         ecs_header("Location: ./\n");
     
  41.         exit;
     
  42.     }
     
  43.     if (!empty($article['link']) && $article['link'] != ' />  
  44.     {
     
  45.         ecs_header("locationarticle[link]\n");
     
  46.         exit;
     
  47.     }
     
  48.     $smarty->assign('categories',       get_categories_tree());  // 分类
     
  49.     $smarty->assign('helps',            get_shop_help()); // 网店帮助
     
  50.     $smarty->assign('id',               $article_id);
     
  51.     $smarty->assign('username',         $_SESSION['user_name']);
     
  52.     $smarty->assign('email',            $_SESSION['email']);
     
  53.     $smarty->assign('type',            '1');
     
  54.     $smarty->assign('promotion_info', get_promotion_info());
     
  55.     $smarty->assign('article',      $article);
     
  56.     $smarty->assign('keywords',     htmlspecialchars($article['keywords']));
     
  57.     $smarty->assign('descriptions', htmlspecialchars($article['title']));
     
  58.     $catlist = array();
     
  59.     foreach(get_article_parent_cats($article['cat_id']) as $k=>$v)
     
  60.     {
     
  61.         $catlist[] = $v['cat_id'];
     
  62.     }
     
  63.     assign_template('a', $catlist);
     
  64.     $position = assign_ur_here($article['cat_id'], $article['title']);
     
  65.     $smarty->assign('page_title',   $position['title']);    // 页面标题
     
  66.     $smarty->assign('comment_type', 1);
     
  67.     assign_dynamic('article');
     
  68. }
     
  69.     $smarty->display('help.dwt', $cache_id);
     
  70. /*------------------------------------------------------ */
     
  71. //-- PRIVATE FUNCTION
     
  72. /*------------------------------------------------------ */
     
  73. /**
     
  74. * 获得指定的文章的详细信息
     
  75. *
     
  76. * @access  private
     
  77. * @param   integer     $article_id
     
  78. * @return  array
     
  79. */
     
  80. function get_article_info($article_id)
     
  81. {
     
  82.     /* 获得文章的信息 */
     
  83.     $sql = "SELECT a.*, NULLVG(r.comment_rank), 0) AS comment_rank ".
     
  84.             "FROM " .$GLOBALS['ecs']->table('article'). " AS a ".
     
  85.             "LEFT JOIN " .$GLOBALS['ecs']->table('comment'). " AS r ON r.id_value = a.article_id AND comment_type = 1 ".
     
  86.             "WHERE a.is_open = 1 AND a.article_id = '$article_id' GROUP BY a.article_id";
     
  87.     $row = $GLOBALS['db']->getRow($sql);
     
  88.     if ($row !== false)
     
  89.     {
     
  90.         $row['add_time']     = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']); // 修正添加时间显示
     
  91.         /* 作者信息如果为空,则用网站名称替换 */
     
  92.         if (empty($row['author']) || $row['author'] == '_SHOPHELP')
     
  93.         {
     
  94.             $row['author'] = $GLOBALS['_CFG']['shop_name'];
     
  95.         }
     
  96.     }
     
  97.     return $row;
     
  98. }
     
  99. ?>
复制代码

2、在themes/你的模板文件夹下(要么就默认default文件夹)新建一个文件help.dwt,代码如下:


  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " />  
  3. <html xmlns=" />  
  4. <head>
     
  5. <meta />  
  6. <meta name="Keywords" content="{$keywords}" />
     
  7. <meta name="Description" content="{$description}" />
     
  8. <!-- TemplateBeginEditable name="doctitle" -->
     
  9. <title>{$page_title}</title>
     
  10. <!-- TemplateEndEditable --><!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable -->
     
  11. <link rel="shortcut icon" href="favicon.ico" />
     
  12. <link rel="icon" href="animated_favicon.gif" type="image/gif" />
     
  13. <link href="{$ecs_css_path}" rel="stylesheet" type="text/css" />
     
  14. {* 包含脚本文件 *}
     
  15. {insert_scripts files='common.js'}
     
  16. </head>
     
  17. <body>
     
  18. <!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem -->
     
  19. <!--当前位置 start-->
     
  20. <div class="block box">
     
  21. <div id="ur_here">
     
  22.   <!-- #BeginLibraryItem "/library/ur_here.lbi" --><!-- #EndLibraryItem -->
     
  23. </div>
     
  24. </div>
     
  25. <!--当前位置 end-->
     
  26. <div class="blank"></div>
     
  27. <div class="block clearfix">
     
  28. <!--left start-->
     
  29. <div class="AreaL">
     
  30. <!-- #BeginLibraryItem "/library/help2.lbi" -->
     
  31. <!-- #EndLibraryItem -->
     
  32. </div>
     
  33. <!--left end-->
     
  34.   <!--right start-->
     
  35.   <div class="AreaR">
     
  36.     <div class="box">
     
  37.      <div class="box_1">
     
  38.       <div style="border:4px solid #fcf8f7; background-color:#fff; padding:10px 15px 20px;">
     
  39.          <div class="tc" style="padding:8px;">
     
  40.          <font class="f5 f6">{$article.title|escape:html}</font>
     
  41.          </div>
     
  42.          <!-- {if $article.content } -->
     
  43.           {$article.content}
     
  44.          <!-- {/if} -->
     
  45.          {if $article.open_type eq 2 or $article.open_type eq 1}<br />
     
  46.          <div><a href="{$article.file_url}" target="_blank">{$lang.relative_file}</a></div>
     
  47.           {/if}
     
  48.       </div>
     
  49.     </div>
     
  50.   </div>
     
  51.   <div class="blank"></div>
     
  52.   </div>
     
  53.   <!--right end-->
     
  54. </div>
     
  55. <div class="blank"></div>
     
  56. <!-- #BeginLibraryItem "/library/page_footer.lbi" --><!-- #EndLibraryItem -->
     
  57. </body>
     
  58. </html>
复制代码

3、在themes/你的模板文件夹(要么就默认default文件夹)/library/目录下新建一个文件help2.lbi,代码如下:


  1.  
  2. <div class="box">
     
  3. <div class="box_1">
     
  4. <div id="help_tree">
     
  5. <h5>帮助中心</h5>
     
  6. <!-- {foreach from=$helps item=help_cat} -->
     
  7. <dl>
     
  8. <dt><span>{$help_cat.cat_name}</span></dt>
     
  9. <!-- {foreach from=$help_cat.article item=item} -->
     
  10. <dd><a href="{$item.url}" title="{$item.title|escape:html}">{$item.short_title}</a></dd>
     
  11. <!--{/foreach}-->
     
  12. </dl>
     
  13. <!--{/foreach}-->
     
  14. </div>
     
  15. </div>
     
  16. </div>
复制代码

4、在你的样式表文件里(themes/模板文件夹/style.css)加入下面代码(其实这个可以不要,主要是方便自己美化又不影响其它的artile文件):


  1.  
  2.    /*帮助列表*/
     
  3.    #help_tree{border:4px solid #fef7f9; background-color:#fff;}
     
  4.    #help_tree h5{text-align:left;margin:0px;padding:2px 0px 3px 10px;font-weight:bold;font-size:14px;color:#d83135;background-color:#fef7f9;}
     
  5.    #help_tree dl{margin:6px;}
     
  6.    #help_tree dt{background:url(images/lineBg.gif) repeat-x left bottom;
     
  7.    color:#3f3f3f;  padding:2px 0 3px 5px;font-weight:bold;
     
  8.    }
     
  9.    #help_tree dd{padding:3px 0 3px 10px;}
     
  10.    #help_tree dd a{color:#404040; text-decoration:none;}
     
  11.    #help_tree dd a:hover{color:#ff6600; text-decoration:none;}
复制代码

5、在includes/lib_common.php文件中,找到函数行build_uri(),大概1449行处。
在如下代码:

  1. case 'article':
     
  2. if (empty($aid))
     
  3. {
     
  4. return false;
     
  5. }
     
  6. else
     
  7. {
     
  8. $uri = $rewrite ? 'article-' . $aid : 'article.php?id=' . $aid;
     
  9. }
     
  10. break;
复制代码

的后面(大概1664行位置处)加入代码:

  1. case 'help':
     
  2. if (empty($aid))
     
  3. {
     
  4. return false;
     
  5. }
     
  6. else
     
  7. {
     
  8. $uri = $rewrite ? 'help-' . $aid : 'help.php?id=' . $aid;
     
  9. }
     
  10. break;
复制代码

6、在includes/lib_main.php文件中找到函数(大概421行处)get_shop_help()
在大概439行处有这样一个语句:

  1. $arr[$row['cat_id']]['article'][$key]['url'] = $row['open_type'] != 1 ?
     
  2. build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']);
复制代码

修改为:

  1. $arr[$row['cat_id']]['article'][$key]['url'] = $row['open_type'] != 1 ?
     
  2. build_uri('help', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']);
复制代码

即:把"artilce",改为:"help"

OK!大功告成!!!

支付宝扫码打赏 微信打赏

如果文章对您有帮助,就打赏一个吧

在线客服

客户服务

热线电话:

0755-36656507 15889489919 服务时间:

周一到周六:9:00-18:00

在线QQ客服

在线微信客服

关于我们 常见问题

支付方式 加盟合作

提交需求
优惠红包 购物车0 反馈留言 返回顶部