由于在内容类型中创建 65 个字段,节点添加/编辑页面加载缓慢

Posted

技术标签:

【中文标题】由于在内容类型中创建 65 个字段,节点添加/编辑页面加载缓慢【英文标题】:Slow loading of node add/edit pages because of creating 65 fields in a content type 【发布时间】:2016-05-17 18:10:12 【问题描述】:

我必须在一种内容类型中创建 65 个字段,其中包括一些字段集合(使用添加更多选项)。

当我尝试为该内容类型创建节点编辑/添加页面时,页面加载速度非常慢,有时会出现最大内存耗尽错误。

我正在尝试查看此 Multistep nodeform(https://www.drupal.org/project/msnf) 是否会帮助我加快页面加载速度。还在寻找其他选项,例如将这 65 个字段划分为不同的内容类型,并将它们作为实体引用嵌入到一种内容类型中等。

谁能建议任何其他最佳方法来避免页面加载缓慢并避免任何内存/超时问题?

提前致谢!

【问题讨论】:

你确定你真的需要全部 65 个字段吗?我无法想象需要描述这么多字段的实体。此外,您可以使用简单的节点引用字段(下拉、自动选择或一些类似的小部件)代替字段集合吗? 【参考方案1】:

如果您不能限制您的归档计数(即使用某些字段而不是字段集合引用其他实体)。否则,请尝试在 settings.php 中有条件地增加您的 PHP 内存:

if (isset($_GET['q']) && !empty($_GET['q'])) 
  $q = $_GET['q'];
  $pattern = '@^((node/\d+/edit)|(node/add/[\w_\-]+))@i';

  if (preg_match($pattern, $q)) 
    ini_set('memory_limit', '512M');
  

更改“512M”以根据内存需要增加或减少。

【讨论】:

以上是关于由于在内容类型中创建 65 个字段,节点添加/编辑页面加载缓慢的主要内容,如果未能解决你的问题,请参考以下文章

Drupal CC/Views - CCK 中未显示新字段

使用 Sonata 字段类型在 Controller 中创建表单

在 CloudKit 仪表板中创建布尔字段

Sharepoint rest api - 创建字段并添加到所有内容类型

从文本字段输入在现有表中创建新行。 SwiftUI(故事板)

在实体表单字段中创建查询