由于在内容类型中创建 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 个字段,节点添加/编辑页面加载缓慢的主要内容,如果未能解决你的问题,请参考以下文章
使用 Sonata 字段类型在 Controller 中创建表单
Sharepoint rest api - 创建字段并添加到所有内容类型