Drupal

Drupal开发人员和管理员的问答

1
使用现有字段的正确方法是什么?
我是Drupal初学者。我对将字段添加到内容类型有些困惑。 情况1:假设我有三个content-type Book,Article&White Paper。我创建了Authors包含所有作者列表的词汇表。 现在,我应该为每种内容类型创建“作者”字段(对作者的术语引用)还是为一种内容类型创建该字段并将其用于其他内容类型? 两种方法的优点/缺点是什么? 如果我从一种内容类型中删除了一个重用字段,会发生什么?它是否会在所有其他位置被删除? 情况2:我关注以下内容类型:(具有指定的字段要求) +--------------+----------------------+ | Content Type | Field Required | +--------------+----------------------+ | Book | Year of publication | +--------------+----------------------+ | Presentation | Date of Presentation | +--------------+----------------------+ | Article | Date of Publication | +--------------+----------------------+ | Event | Held On | +--------------+----------------------+ 我该怎么办?我应该为一种内容类型创建一个字段并将其用于所有其他内容类型,还是为每种内容类型创建字段? 帮助我清楚地了解何时以及如何适当地重用现有字段。
13 entities  nodes 



2
如何在hook_schema()中正确实现mysql date或datetime字段?
我已经编写了一个mymodule.install文件,其中包含一个架构定义以在数据库中创建表。该表包含两个数据字段。当用户填写特定内容(例如:指定新闻的特定发布日期)时,这些字段将由用户填充。现在,我没有故意使用“日期”贡献模块,因为出于其他原因,我需要将这两个字段放在数据库表的同一行中。 hook_schema用这种方式定义了两个字段: 'pubblish_date' => array( 'description' => t('The pubblish date for the single news'), 'mysql_type' => 'datetime', 'not null' => FALSE, ), 'unpublish_date' => array( 'description' => t('The unpublish date for the single news'), 'mysql_type' => 'datetime', 'not null' => FALSE, ), 该表已在数据库中正确创建,但是我总是收到这些建议消息: 字段news_board.pubblish_date:否mysql类型datetime的模式类型。字段news_board.unpublish_date:否mysql类型datetime的模式类型。news_board.pubblish_date:模式类型:普通没有类型。字段news_board.pubblish_date:类型的架构类型。news_board.unpublish_date:模式类型:普通没有类型。字段news_board.unpublish_date:没有type的架构类型。 对我来说似乎很奇怪,原因是我在文档中使用mysql_type规范来将日期时间格式存储在mysql数据库中。 我知道Drupal本机支持时间戳,如果要存储其他日期格式,则必须根据所使用的数据库使用特定的定义,例如mysql_type或pgsql_type。 在讨论中,我发现在线上有很多人使用mysql_type定义,从我的看到,他们解决了问题,那么为什么它对我不起作用? 非常感谢。

5
缓存表单表的大小巨大
上个月,缓存表的大小已增加到10+ GB,我已通过截断临时修复了它。上次我检查它约为1GB。因此,几个月后它将再次达到10GB。应该如何处理? 请注意,我已禁用了该站点上的所有cron作业。如果是这个原因,应该启用哪个cron?
13 database  caching 

7
更改面包屑的内容
我正在尝试使用此钩子来更改面包屑链接: hook_menu_breadcrumb_alter(&$active_trail, $item) 该钩似乎没有被调用。 我试过了 : 使用主题上的钩子 使用自定义模块上的钩子(breadcrumb_finder_fix) 使用Drush清除所有缓存 我已经安装并激活了Devel模块,以下内容不会产生任何输出。 function breadcrumb_finder_fix_menu_breadcrumb_alter(&$active_trail, $item) { drupal_set_message(krumo($active_trail)); } 有任何想法吗 ?方向?请指教。 OBS:我已阅读此答案:https://drupal.stackexchange.com/a/7659/12647
13 7  hooks  breadcrumbs 

2
如何使用分类法禁用新术语(免费标记)?
我有一个使用自动完成窗口小部件的形式的“术语参考”字段。我只想将用户输入限制在词汇表中,并在用户尝试输入不存在的术语时输出一条消息。 我找到了内容分类模块。但是,这不适用于包含字段集合或字段组的表单。 还有一个贡献补丁1078878-DisableAutoCreation-D7-UTF-8.patch。但是我想知道是否有像模块这样的更简单/更清洁的解决方案,或者我错过了使用最新的drupal和分类法版本的现有方法。



7
如何在Drupal 7中调用menu_rebuild函数?
我想调用menu_rebuild()函数,但是我不确定确切将代码片段粘贴到何处。 我在本地实例的任何地方都找不到update.php文件。 我想尝试此操作的原因是我删除了所有节点,但它们仍出现在菜单结构下。
13 routes  updating 

3
上传图像时是否可以保持图像质量?
通过Drupal7上传图像时是否可以保留图像质量? 例如,我拍这张照片:http : //f.cl.ly/items/0L3j21030C3O2A3x2w0b/thumb.jpg 我使用没有设置最小/最大分辨率的Imagefield上传它,看起来像这样:http : //f.cl.ly/items/2B2q2a1H402T1Z1j3w2j/baboon-onesie-costume-thumb.jpeg 因此,我们已经看到质量下降。然后使用视图显示该视图,该视图缩放图像(如果需要,它应该执行此操作),它大于190x280(不是),现在看起来像:http : //f.cl.ly/items/2n023q1Q331J3E2d3a3I/狒狒-onesie-服装-拇指-1.jpeg 质量差异很大-图像边缘周围色彩大量损失,并且出现了严重的伪影。 GD图像设置为JPEG质量:100%。 有什么措施可以防止这种可笑的质量损失?
13 7  media 

2
如何使用模块而不是主题存储View模板
我创建了几个视图模板,这些模板当前存储在我的活动主题目录中。最好将这些模板存储在我的模块目录中。 我的问题是,如何将这些主题文件(例如,views-view-field.tpl.php)带入我的模块目录,并让Views看到它们? 查看“视图”模块,可以看到默认模板存储在视图/主题中,但是我看不到它是如何实现的。
13 views  theming 

3
在不破坏Git存储库和生产网站的情况下升级Drupal核心的最佳实践是什么
我有一个Git存储库,我所有的代码都在master分支中,以前我只是忽略了所有Drupal文件,因此我在编写(或修改或可能修改)的代码与代码之间严格分开可以用Drush或其他方式生成 在我不得不升级Drupal之前,这似乎是一个不错的策略。我意识到如果情况不佳,我希望能够回滚,并且可以使用比Git更好的工具来做到这一点。我以为自己这是功能分支的理想情况,所以我做了一个drupal-7.14分支,让它自己.gitignore忽略了我所有的代码和设置文件,只注意了Drupal安装中的文件,而我不会这样做。不要碰。我手动进行了升级(下载,解压缩,解压缩,复制),对诸如robots.txt和.htaccess之类的边界案例进行了排序,并用我自己的脚本覆盖了Drupal的.gitignore。我修复了一些适用于7.14但不适用于7.15的设置,以从500错误中恢复,然后一切似乎都很完美。我将分支重命名为,drupal-7.15并且愉快地前进了。 直到我意识到自己无意间做了什么:当我签出master时,以前由master分支取消跟踪但留在工作目录中的文件现在已从工作目录中删除,因为它们不再是取消跟踪的文件! 天哪! 如果我将drupal-7.15分支与master 合并,则将失去代码分离。 可能存在将分支转换为子模块的某种方法。假设这是可能的,那可能是最好的策略。在执行此操作之前,我知道子模块是“正确的”解决方案,但是由于我没有意识到对以前未跟踪的文件使用分支的副作用,因此我决定走捷径。(此外,我所见过的在Drupal中使用子模块的所有方法都假设您正在启动一个新项目,而Drupal将成为master分支。我不希望将其他人的代码设为master分支,而我已经拥有了带有主分支的仓库。这看起来像只是进行升级就不必要地复杂。) 可能还有其他我没有想到的解决方案。 我如何才能以最少的弊端从中最好地恢复过来? 更新:这正在开发中(在我的笔记本电脑上是Linux VM),尚未投入生产。到我们投入生产时,我计划将所有功能包装在功能模块中,但是目前为止还没有。 更新2:子模块可能无法正常工作。根据 Pro Git的说法,“子模块允许您将Git存储库保留为另一个Git存储库的子目录”。Drupal没有提供任何这种很好的分离。并不是所有的Drupal代码都在一个子目录中,而是差不多颠倒了这种关系,但是仍然没有明确的分离,因为您可能正在编辑.htaccess和robots.txt,因此您的代码和Drupal仓库混合在一起了。我正在寻找解决此问题的方法。

4
如何导出/导入特定内容类型的所有节点?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 8个月前关闭。 我使用功能模块将内容类型的定义从站点导出/导入到另一个站点。现在,我想导出该内容类型的所有节点,并将它们导入另一个站点。我怎样才能做到这一点?

4
如何获取原始URL作为“视图”中的字段?
在视图中,我需要将作为href值提供的原始url返回给title字段(作为链接时)或Content:链接值。我本来以为我可以选择Content:link并以重写的方式剥离HTML,但是没有。 我需要完整的URL,以便可以在字段重写中将其作为参数传递。关于如何获得此的想法?
13 7  views  entities 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.