如何用编程的形式为实体添加字段
老葛:你好!
我在编写模块的时候遇到这么一个需求,有的实体需要手工添加一个字段后,才能写出查询操作。
比如user实体,我想查出所有的“VIP用户”,这样需要给user加个字段来标记,一般情况下需要手工添加字段,但这样明显不够优雅。
我想在安装这个模块的时候,同时也为这个实体添加了字段,后续工作就好做多了。
请问有什么办法可以编程的形式为实体添加字段呢?
谢谢!
内容包括drupal7教程,drupal7汉化,drupal7主题,drupal7模板,drupal7中文手册,drupal7 views,drupal7中文,drupal7安装,drupal7开发,drupal7视频,等
老葛:你好!
我在编写模块的时候遇到这么一个需求,有的实体需要手工添加一个字段后,才能写出查询操作。
比如user实体,我想查出所有的“VIP用户”,这样需要给user加个字段来标记,一般情况下需要手工添加字段,但这样明显不够优雅。
我想在安装这个模块的时候,同时也为这个实体添加了字段,后续工作就好做多了。
请问有什么办法可以编程的形式为实体添加字段呢?
谢谢!
老葛,请问《drupal实战指南》第165页的的内容窗格是啥啊?
我这里好像没有这个东东哎,
另外我添加这些东西的时候,为啥和Page配置的东西一模一样,如何处理才行呢?谢谢!
tb megamenu默认断点是980,有时候想修改这个值,比如一个实际项目中,想把它改为960。
搜索研究了很久,没有可以配置的办法,只能修改源代码。这是我的修改:
tb_megamenu\js下面的tb-megamenu-frontend.js修改了。
Drupal.TBMegaMenu.supportedScreens = [960];
tb_megamenu\css下面的CSS文件,
bootstrap.css
default.css
base.css
compatibility.css
等文件中,将980替换为960, 将979替换为 959
这样断点就从980改为960了。
TB Mega Menu 与 special menu items module冲突的解决
TB Mega Menu没有考虑special menu items module模块的配置,下面的链接解决了个这个问题。
https://www.drupal.org/project/tb_megamenu/issues/2019163#comment-8776801
用户改版网站,将原来的主题改为响应式主题,同时专门为手机制作了主题。这个时候,我们采用了mobile theme这个方案,做了修改,将mobile detect的缓存代码改了一下,放到了mobile theme下面。
用户想要支持IE7,8,9,老版本的IE。响应式的主题下面由于使用swiper.js,默认不支持ie9。这个时候,我们决定采用mobile theme方案,在它的基础上进行修改:
增加对于ie的检查:
function mobile_theme_detect_ie_lower_version() {
//$mobile_browser = 0;
$is_ie_lower_version = false;
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
软件工程的关键,在于复用,我们在这方面做的还不够。 复用包含多个方面:
1,流程的复用,我们不能鼓励每个人做项目都自由发挥,项目的进行,应该符合规范。建立规范的流程,