Comments (7)
目前似乎没有特别的办法,不过可以考虑加上一个
from typecho.
有过类似功能我是使用你之前用过的方法实现的:
Typecho_Plugin::factory('admin/write-page.php')->bottom = array('PostFields_Plugin', 'new_fields');
直接在PostFields_Plugin里隐藏页面不想显示的字段
算是一个折中的办法
from typecho.
折中方案还有用js判断插😄,还有就是希望字段值为空的字段不要也一股脑塞进数据库,字段值为空应该就是没用到,塞进数据库感觉徒增无用数据
from typecho.
可能我的字段都属于不确定性的,后期可能有些页面也会用到,所以暂时都保留了,如果不想要空字段可以直接给主题设置一个按钮专门处理数据库中的fields表的空字段
from typecho.
你可以通过检查 $layout
对象的某些属性来判断当前是否在文章编辑页面。在 Typecho 中,$layout
对象通常是 Widget_Archive
的一个实例,它有一个属性 is
可以用来检查当前的页面类型。
以下是一个示例,这个函数只会在文章编辑页面下插入自定义字段:
function themeFields($layout) {
// 检查是否为文章编辑页面
if ($layout->is('post')) {
$Pictype= new Typecho_Widget_Helper_Form_Element_Select('Pictype',array(
'-1' => _t('无图'),
'0' => _t('默认文图'),
'1' => _t('多图样式'),
'2' => _t('动态样式')),
'0',_t('列表样式'),_t("文章类表样式,不填写文章头图时则不显示图片"));
$layout->addItem($Pictype);
}
}
在这个例子中,$layout->is('post')
会检查当前页面是否是文章编辑页面。如果是,就会执行后面的代码,添加自定义字段。如果不是(例如是独立页面编辑页面或其他页面),就不会执行后面的代码,所以不会添加自定义字段。
注意:$layout->is('post')
可能在某些情况下并不能正确判断是否为文章编辑页面,具体取决于 Typecho 的版本和设置。如果这个方法不起作用,你可能需要查找其他的判断方法。
from typecho.
function themeFields($layout) 函数中添加的自定义字段, 为什么没有参数指定字段值的类型(str/int/float/json) ?
而自带的自定义字段却有类型, 这里是否有问题?
from typecho.
建议在主题自定义字段的 label 前面增加1个复选框, 勾选之后表示记录该字段, 才会塞进数据库, 不勾选则不进数据库.
from typecho.
Related Issues (20)
- 1.3版本有些函数是废弃了么?
- 评论列表报错 HOT 4
- 建议增加深色模式 HOT 1
- 带有端口的HTTPS地址,Permalink中端口号没了,导致访问错误 HOT 8
- 发现代码里面有一段奇怪的疑似经过混淆后的函数 HOT 2
- 能否让文章列表的日期显示为绝对时间,不要用“N小时前”“N天前”这样的显示 HOT 3
- 插件冲突问题依旧存在 HOT 2
- 后台回复评论无法触发finishComment HOT 2
- 官网报错502了 HOT 1
- 点击“发布文章”时候跳404 HOT 6
- 论坛社区注册之后收不到激活邮件 HOT 2
- 自定义分类模板中遍历读取评论列表时,全都是第1篇文章的评论 HOT 2
- joyqi/typecho:1.2.1-php7.4-apache版本打开页面详情会出现500 Database Query Error HOT 6
- typecho后台文章编辑无文本框 HOT 2
- 搞不明白为啥要给uploads 文件加权限。 HOT 2
- 访问admin/register.php时PHP报错 HOT 3
- 关于插件和命名空间问题 HOT 1
- 万人血书希望作者出个官方的Restful api功能,太想要这个了。 HOT 1
- [issue无效,该功能已存在]Markdown支持多层嵌套
- 关于评论置顶的建议
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typecho.