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

Kuma post in [About Designs] 2010-1-22 12:01 Friday

        自从上次写了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。

Tags: 标签: emlog theme 模板 风格 教程

引用地址:

Ball Bearings
2010-08-30 17:12
不错啊,是你自己写的吗?
博主回复:好像是……
小超熊
2010-01-22 15:38
kuma老师的教程写的很详细!(拍手拍手!)
可惜我看到代码数字就晕,实际上只看了汉字,哇哈哈。。。
博主回复:狂汗……
非博
2010-01-22 12:54
呵呵,打丢了个字母,就变成了少。粗心
博主回复:我赢了,哈哈
非博
2010-01-22 12:51
呵呵,这个好好少发下!
博主回复:是沙发吧???不是少发……

昵称

网址

电邮