欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

drupal 字段默认值为空的时候 节点显示页面 就不会显示出这个字段(连这个字段的名称都不显示)

shiping1 的头像

当不填数据的时候

字段就不会显示
我想让 不填的时候 字段名称显示出来 字段值为0
请问如何做
成都┊窗外  10:46:58
如果你想这个字段的值为0,那么就用hook_node_insert在保存字段之前将这个字段的值设为0
如果你不想这样操作,只是想让显示的时候为0,那么就对这个类型的node主题化,在template中检测这个变量有没有设置,没有的话就设为0
泪痕_元怜  10:50:17
,在template中检测这个变量有没有设置,  是如何做的呢
成都┊窗外  10:51:02
在模板中渲染的时候会传入这个node变量
如果字段设置了那么这个变量中就会有那个字段的值
没有的话就是没设置
泪痕_元怜  10:52:01
调用什么函数 进行渲染呢
成都┊窗外  10:52:40
node模板知道不。。
泪痕_元怜  10:52:50
知道
成都┊窗外  10:53:19
你针对你要处理的这个内容类型做个模板来覆盖默认的模板
泪痕_元怜  10:53:50
你的意思 还是要覆写 模板
成都┊窗外  10:54:09
如果你采用后一种方法就得这样
或者用其他的hook也行
泪痕_元怜  10:54:33
那么用什么hook 呢
成都┊窗外  10:54:43
这个就记不太清
有几个叫啥prepare的估计可以
不过没必要是不是嘛
成都┊窗外  10:55:44
一般来说如果想要做的很好的话,还是要所有的内容类型都覆写模板的
泪痕_元怜  10:56:29
我这个东西是内部使用的 也就是说 老板 对样式 没有要求 只要实现功能就行了 所以 我不太想覆写模板
成都┊窗外  10:57:15
那就用hook_node_insert吧。。这个很容易的
不对啊,字段不是可以设置默认值的么
你设置个默认值不就完了么
泪痕_元怜  10:58:17
是可以的 但是它们的编辑 觉得凭个多个0 填数据的时候 要把0删掉 它们嫌麻烦
是可以的 但是它们编辑 觉得凭个多个0 填数据的时候 要把0删掉 它们嫌麻烦
成都┊窗外  10:58:42
。。。。
hook_node_insert吧
 
 
 
 
 
 
 
 
 
 

当不填数据的时候

字段就不会显示
我想让 不填的时候 字段名称显示出来 字段值为0
请问如何做

上海封天-drupal  10:47:20
你这个是自己建的node type吧?
自己建的node type在field里设一下默认值为0
不然数据库里是null
泪痕_元怜  11:01:51
设一下默认值为0 编辑在添加数据 的时候 总要 先删掉0 然后 再填数据 它们嫌麻烦

上海封天-drupal  11:04:34
如果只是认为麻烦的话,可以去hook这个edit form,然后添加个inline js,给input框绑定focus事件
hook element也可以,不过就要写好几个了
泪痕_元怜  11:05:27
是的
事实上 字段 有 20多个 ;;是觉得有点麻烦
上海封天-drupal  11:06:54
那最好还是hook form了。。。。
泪痕_元怜  11:09:39
hook form 怎么做呢
思路?
把它们置为0
?
上海封天-drupal  11:11:17
我意思是依然做成默认值0, 然后在这个node的编辑页面找到这个form的id,用hook form FORM_ID alter写个hook,然后加上drupal add js  (inline)
泪痕_元怜  11:11:44
哦 
上海封天-drupal  11:12:02
js里对form你所有edit的元素绑定focus
泪痕_元怜  11:12:20
我说的有点简单 .其实 也就是你的告诉我的思路
上海封天-drupal  11:12:51
恩~应该蛮好理解的,而且没什么难度的
上海封天-drupal  11:14:40
 
还有一个这种的bind js
不过这个要bind很多了。。呵呵。。。
泪痕_元怜  11:15:26
哦 能发这个的url吗
上海封天-drupal  11:15:39
api的吗?
泪痕_元怜  11:16:07
是你截的这个图的url
上海封天-drupal  11:16:18
发不了哦,我自己代码里的
泪痕_元怜  11:16:34
呵呵 那你就发个 api吧
上海封天-drupal  11:17:07
https://api.drupal.org/api/drupal/modules%21field%21field.api.php/function/hook_field_widget_form_al...
 
 
 
 
 

当不填数据的时候

字段就不会显示
我想让 不填的时候 字段名称显示出来 字段值为0
请问如何做

山东【饰靓】drupal  10:54:54
不是有个无内容时显示的选项
泪痕_元怜  11:02:51
我再看 看 后台  如何找不到的话 还要请教兄弟
山东【饰靓】drupal  11:03:14
覆写的那个地方查看一下
泪痕_元怜  11:03:33
覆写的地方 ? 不是后台?
山东【饰靓】drupal  11:03:43
你视图字段那里
覆写字段的地方
有一个关于没内容时显示的选项
泪痕_元怜  11:04:39
我这个不是视图 只是单个节点的显示
山东【饰靓】drupal  11:06:11
节点没内容时?
body也是字段把
泪痕_元怜  11:08:13
是的啊
山东【饰靓】drupal  11:08:30
字段好像都有这个选项
泪痕_元怜  11:08:39

是这个吗
山东【饰靓】drupal  11:09:08
你这个是6 啊
6我不熟
泪痕_元怜  11:09:15
是的 呵呵
 
 
 
 
 
 
 
 
 
 

当不填数据的时候

字段就不会显示
我想让 不填的时候 字段名称显示出来 字段值为0
请问如何做

深圳-凌空-drupal  11:21:48
我记得字段设置的时候可以设置一个默认值吧
默认值为0,不就可以了?
泪痕_元怜  11:32:01
设一下默认值为0 编辑在添加数据 的时候 总要 先删掉0 然后 再填数据 它们嫌麻烦


深圳-凌空-drupal  13:10:37
那就不好弄了,只能编程,或者找一个模块,或者用javascript,点击一下消失
泪痕_元怜  13:22:07
不知 找什么模块
深圳-凌空-drupal  13:23:04
我记得以前用过一个模块,搜索框是默认可以点击,据说其他也可以设置,应该是在drupalla里看到的,你找找
泪痕_元怜  13:23:27
默认点击 起什么作用
?
深圳-凌空-drupal  13:23:49
点击框里面的字就消失了
泪痕_元怜  13:23:56
哦 
你的意思是用js 
深圳-凌空-drupal  13:24:15
自己写一段javascript呗
是啊
泪痕_元怜  13:24:23
判断是否为0 如果是0的话 就消失
事实 我这儿有 20几个字段 比较麻烦
深圳-凌空-drupal  13:24:45
是的
那也就是添加几个class而已
泪痕_元怜  13:25:37
哦 有思路了 谢谢兄弟
深圳-凌空-drupal  13:26:27

 

普通分类: