捣鼓zblogPHP:自定义文章编辑页面
搞了一段自定义文章编辑页面的代码,实现了通过文件编辑页面直接设置一个值,在页面模版中调用的效果。但一直没读懂是什么意思,群的一群老大又闲我水平菜,不愿意给我细细讲解,特此发出来求救。
代码是在主题的include.php里写的,一个定义接口的function,一个是定义字段所带功能的function。第一个接口的比较容易理解,配合zblogPHP的wiki我们很容易看明白,就是告诉zblogPHP,我有东西要对接了,对接的是第三行的东西。imlgm_Edit_Response2这个可以通过查阅得知,是在文章编辑页面,提交按钮最下面增加的内容。
function imlgm_Edit_Response2(){
global $zbp,$article;
imlgm_HWD($article);
}
但下面个function我就一直没明白是如何运作的:
function imlgm_HWD(&$object){
global $zbp;
$array=array(height);
$height_intro = '高度';
if(is_array($array)==false)return null;
if(count($array)==0)return null;
foreach ($array as $key => $value) {
if($key==0) {
$single_meta_intro = $height_intro;
}
if(!$single_meta_intro)$single_meta_intro='Metas.' . $value;
if ($value=='height') {
echo '<p><input for="'. $value .'" type="text" class="editinputname" readonly="readonly" style="width:98%;border:none;" value="'. $single_meta_intro .'"/><br><textarea style="width:98%;height:24px;" name="meta_' . $value . '" >'.htmlspecialchars($object->Metas->$value).'</textarea></p>';
}
}
}
第2行,全球化ZBP;
第3行,定义一个数组,数组里面有一个量;
第4行,定义了一个height_intro的常量,常量的值叫做“高度”;
第5行,如果第2行的数组是个数组,那么返回空?
第6行,如果第2行的数组里面数为0,那么返回为空?这两个定义好像是完善逻辑的,但这逻辑 = =!
第7行,一次循环,变量key的值是“height”?
第8-10行,如果变量key为0,那么变量single_meta_intro等于变量height_intro,值为“高度”;
第11行,如果变量single_meta_intro没有值,那么它的值是Metas.height?
第12行到最后,如果值是height,那么输出自定义字段,字段的value值是变量single_meta_intro,也就是Metas.height?
但为什么输出的时候是$article.Metas.heights啊?第10行到底是是不是我那样解读呢?为什么里面好多逻辑判断要判断key为0,array为0啊?