记一个文章字段、后台字段的应用

发现自己容易忘记,就记一下

目录

文章自定义字段
->字段嵌入
->字段输出
–>直接输出
–>判断输出
—>案例
->选择类型
–>字段输出

后台自定义字段
->字段嵌入
->字段输出
–>直接输出
–>判断输出
—>案例
->选择类型
–>字段输出

可以使用Ctrl+F 来查找

文章自定义字段

字段嵌入

functions.php里面输入

function themeFields(Typecho_Widget_Helper_Layout $layout) {
//以下是自定义字段内容
    $excerpt = new Typecho_Widget_Helper_Form_Element_Textarea('excerpt', NULL, NULL, '文章摘要', '输入自定义摘要。留空自动从文章截取。');
    $excerpt->input->setAttribute('class', 'w-100');
    $layout->addItem($excerpt);
//自定义字段内容结束
}

excerpt是自定义字段名,文章摘要是标题 输入自定义摘要...是介绍

$excerpt->input->setAttribute('class', 'w-100');的意思是给excerpt字段的框加上类,样式是宽度百分百支持html,如<h2></h2>,但不建议使用,容易排版错误

$layout->addItem($excerpt);个人理解是excerpt字段输出尾部,类似</div>的关系

字段输出

直接输出

<?php echo $this->fields->excerpt;?> 

判断输出

<?php if (($this->fields->excerpt) == ''): ?>
    //如果没有填写输出
<?php else: ?>
    //如果有填写输出
<?php endif; ?>
案例
<?php if (($this->fields->excerpt) == ''): ?>
    <p>如果没有写摘要,就会出现这段字</p> //如果没有填写输出
<?php else: ?>
    <p><?php echo $this->fields->excerpt;?></p> //如果有填写输出
<?php endif; ?>

选择类型

有时候可能我们需要用到选择框来达成某种功能,比如开启关闭。

functions.php里面输入

function themeFields(Typecho_Widget_Helper_Layout $layout) {
//以下是自定义字段内容
    $excerpt = new Typecho_Widget_Helper_Form_Element_Select('excerpt',array('0'=>'关闭','1'=>'开启'),'1','是否开启','选择是否开启功能');
    $layout->addItem($excerpt);
//自定义字段内容结束
}

字段输出

<?php if($this->fields->excerpt && $this->fields->excerpt=1): ?>
    //关闭
<?php else: ?>
    //开启
<?php endif; ?>

后台自定义字段

字段嵌入

functions.php里面输入

function themeConfig($form) {
//以下是自定义字段内容
    $logoUrl= new Typecho_Widget_Helper_Form_Element_Text('logoUr1', NULL, NULL, _t('<h2>自定义</h2>LOGO'), _t('请填写 LOGO 在线链接, 留空则调用本地资源。本地路径/usr/themes/ZERO/images/favicon.png'));
    $form->addInput($logoUrl);
//自定义字段内容结束
}

logoUrl是自定义字段名,LOGO是标题 请填写 LOGO 在线链接...是介绍 支持html,如<h2></h2>

$form->addInput($logoUrl);个人理解是logoUrl字段输出尾部,类似</div>的关系

字段输出

直接输出

<?php $this->options->logoUr1(); ?>

判断输出

<?php if (($this->options->logoUr1) == ''): ?>
    //如果没有填写输出
<?php else: ?>
    //如果有填写输出
<?php endif; ?>
案例
<?php if (($this->options->logoUr1) == ''): ?>
    <img src="/usr/themes/ZERO/images/favicon.png"> //如果没有填写输出
<?php else: ?>
    <img src="<?php $this->options->logoUr1(); ?>"> //如果有填写输出
<?php endif; ?>

选择类型

有时候可能我们需要用到选择框来达成某种功能,比如开启关闭。

functions.php里面输入

function themeConfig($form) {
//以下是自定义字段内容
    $excerpt = new Typecho_Widget_Helper_Form_Element_Select('excerpt',array('0'=>'关闭','1'=>'开启'),'1','是否开启','选择是否开启功能');
    $form->addInput($excerpt);
//自定义字段内容结束
}

字段输出

<?php if($this->options->excerpt && $this->options->excerpt=1): ?>
    //关闭
<?php else: ?>
    //开启
<?php endif; ?>

最后

我一共使用了三种框,分别是

Typecho_Widget_Helper_Form_Element_Text
Typecho_Widget_Helper_Form_Element_Textarea
Typecho_Widget_Helper_Form_Element_Select

可以通过实际情况来更改自己想用框,当然其实还有其他类型,但目前我只使用到了这三种类型。
当然更多的可以下载我的ZERO项目来了解。https://github.com/BlackWhite2000/Typecho-Theme-ZERO
如果发现有说明错误的地方,请务必留言谢谢!

© 版权声明
THE END
喜欢就支持以下吧
点赞0赞赏
分享
评论 抢沙发