EMLOG模板制作教程(结构分析之side、footer篇)

作者Kuma 文章分类 分类:About Designs 文章评论 13条评论 阅读次数 已被围观 2743

        自从上次写了log_list篇后,好久没继续这个教程了,今天开始继续本教程。今天分析side.php和footer.php的结构。side.php的挺简单,但是也很复杂。因为单单来分析side.php的话,你能修改的也就那么几行。事实上side.php的核心代码是加载自moudle.php的,moudle.php里面所有widgets代码块最终都是被加载到本文件中来。为了整套教程的有序性,本文不详细分析moudle.php,只在需要的地方略作介绍。footer.php很简单,虽然很多人自己一看就懂,但是为了面向大众,我还是略作介绍。

        老拒绝,现在贴默认模板的side.php的代码:

<div id="sidebar">
<ul>
<?php
$widgets = !empty($options_cache['widgets1']) ? unserialize($options_cache['widgets1']) : array();
doAction('diff_side');
foreach ($widgets as $val)
{
 $widget_title = @unserialize($options_cache['widget_title']);
 $custom_widget = @unserialize($options_cache['custom_widget']);
 if(strpos($val, 'custom_wg_') === 0)
 {
  $callback = 'widget_custom_text';
  if(function_exists($callback))
  {
   call_user_func($callback, htmlspecialchars($custom_widget[$val]['title']), $custom_widget[$val]['content'], $val);
  }
 }else{
  $callback = 'widget_'.$val;
  if(function_exists($callback))
  {
   preg_match("/^.*\s\((.*)\)/", $widget_title[$val], $matchs);
   $wgTitle = isset($matchs[1]) ? $matchs[1] : $widget_title[$val];
   call_user_func($callback, htmlspecialchars($wgTitle));
  }
 }
}
?>
</ul>
<div class="rss">
<a href="<?php echo BLOG_URL; ?>rss.php"><img src="<?php echo TEMPLATE_URL; ?>images/rss.gif" alt="订阅Rss"/></a>
</div>
</div>

 在上面的代码中,包含在<?php  ?>中的代码你是不能更改的,我们在改造和制作模板的过程中,唯一需要改变的只是html标签而已。那么如何更改侧边栏的具体元素呢?那么你需要打开moudle.php文件,找到

<?php
//widget:标签
function widget_tag($title){
 global $tag_cache; ?>
 <li>
 <h3><span onclick="showhidediv('blogtags')"><?php echo $title; ?></span></h3>
 <ul id="blogtags">
 <li>
 <?php foreach($tag_cache as $value): ?>
  <span style="font-size:<?php echo $value['fontsize']; ?>pt; height:30px;">
  <a href="<?php echo BLOG_URL; ?>?tag=<?php echo $value['tagurl']; ?>" title="<?php echo $value['usenum']; ?> 篇日志"><?php echo $value['tagname']; ?></a></span>
 <?php endforeach; ?>
 </li>
 </ul>
 </li>
<?php }?>

类似的代码块。凡是代码块中含有“//widget:标签”中的widget字样的都是侧边栏功能代码块。例如上面的代码块儿就是生成侧边栏标签的代码块。如果你在后台开启标签的话,那么该代码块就会被加载到side.php里面去。至于每个功能代码块的修改,请等待我分析moudle.php的时候进一步研究。

下面看footer.php:

<?php if(!defined('EMLOG_ROOT')) {exit('error!');} ?>
<div class="clear"></div>
<div id="footer">
Powered by <a href="http://www.emlog.net" title="emlog <?php echo EMLOG_VERSION;?>">emlog</a> <a href="http://www.miibeian.gov.cn" target="_blank"><?php echo $icp; ?>ICP备案信息加载点)</a>
<?php doAction('index_footer'); ?>底部插件扩展点
</div>
</div>
</body>
</html>

footer.php实在没有什么的好说的,不过如果你想在页底添加东西,那么需要修改本文件。

        好了,今天的教程到此为止,下篇我们将来分析echo_log.php。

分类:About Designs
标签: emlog theme 模板 风格 教程

通告: http://mouselife.net/tb.php?sc=e80ab8&id=85

评论:

  1. [回复]wings发表于 2011-08-06 19:49
    正打算自己写个主题。借鉴先~
  2. [回复]学费发表于 2010-12-09 17:00
    你把它都写出来,我借鉴一下
    • [回复]Kuma发表于 2010-12-09 18:02
      @学费:呃,一方面忙,另一方面懒,所以就没有写了……
  3. [回复]学费发表于 2010-12-07 13:30
    做模板得学什么东西
    • [回复]Kuma发表于 2010-12-07 14:32
      @学费:一般来说,至少需要会使用一般的绘图软件,然后必不可少的是需要懂HTML+CSS+DIV。当然,做emlog模板的话,应该懂一点点PHP。
  4. [回复]Ball Bearings发表于 2010-08-30 10:12
    不错啊,是你自己写的吗?
    • [回复]Kuma发表于 2010-08-30 11:14
      @Ball Bearings:好像是……
  5. [回复]小超熊发表于 2010-01-22 08:38
    kuma老师的教程写的很详细!(拍手拍手!)
    可惜我看到代码数字就晕,实际上只看了汉字,哇哈哈。。。
    • [回复]Kuma发表于 2010-01-22 09:40
      @小超熊:狂汗……
  6. [回复]非博发表于 2010-01-22 05:54
    呵呵,打丢了个字母,就变成了少。粗心
    • [回复]Kuma发表于 2010-01-22 06:56
      @非博:我赢了,哈哈
  7. [回复]非博发表于 2010-01-22 05:51
    呵呵,这个好好少发下!
    • [回复]Kuma发表于 2010-01-22 06:53
      @非博:是沙发吧???不是少发……

发表评论: