Questions tagged «entities»

自Drupal 7以来使用的术语中的节点,注释,分类术语和用户通常称为“实体”。


4
如何从节点加载字段集合?
我有一个节点,上面有一些字段集合。 当查看node_load()输出时,我看到: [field_rich_text_group] => Array ( [und] => Array ( [0] => Array ( [value] => 6 ) [1] => Array ( [value] => 7 ) [2] => Array ( [value] => 8 ) ) ) 我可以使用什么API函数来实际加载实体ID为6、7、8等的集合中包含的字段数据?
72 7  entities 


8
如何以编程方式创建字段?
如何在Drupal 7中实现以下内容? 我需要做的是创建一个模块,该模块定义一个称为“公司”的新可现场使用的实体。我有一个清单,假设每个公司实例需要填写20个字段。这些问题是预定义的,有些可能包含自定义验证。 目前,我可以将新字段添加到Company实体。目前,这可以正常工作。我的问题是,安装模块后,我需要所有这些字段,因此无法通过界面添加它们。 我想知道如何解决这个问题?我以为它可以通过编程方式使用“管理字段” UI来完成。
56 7  entities 

3
使用该语言时的最佳实践是什么?
我开始使用此表单来访问模块中的数据。(请参阅注释1。) $node->field_test[$node->language][0]['value'] 我认为这看起来像是一个很好的解决方案,但在同样的问题下,我发现了这一点: 不要假定“ und”用于没有语言的实体的字段,它也适用于不可翻译的字段,并且没有实体翻译模块的所有字段。此外,Drupal的各种7.x版本之间的区别也有所不同。 最好使用该field_get_items()功能,该功能将以哪种语言代码为您存储数据。 现在我不知道我正在使用的东西是否可以打破常规。
51 entities 

3
如何提供特定视图模式的模板?
我想用模板为搜索结果查看模式设置主题。 我脑子里想出了一个模板文件节点--article--search-result.tpl.php可以解决这个问题,但是我显然错了。 我意识到我可以执行node--article.tpl.php并在$ view_mode检查中进行此操作,但是与其他所有我不想模板化的视图模式相比,这很尴尬。 有想法吗?
46 7  theming  entities 

7
如何更改字段设置的长度?
我曾经为网站设置了一个字段的最大限制。现在,客户希望在该字段中添加更多字符。 我无法从Drupal更改最大大小,因为我收到以下错误消息: 数据库中有此字段的数据。字段设置不能再更改。 但是,必须有一个解决方案。我是否应该在数据库中更改它(该字段是由Field-collections模块实现的)?
46 7  entities  database 

13
如何从活动配置中删除配置对象?
我正在为Drupal 8编写一个自定义模块。它在名为modules / mymod / config / install / field.storage.bloom_stem.bs_twitter_ac.yml的文件中定义了一个字段存储配置对象。 问题是,在卸载模块时不会将其删除。它显然被遗弃了,因为当我重新安装模块时,我崩溃了。 drush -y pm-uninstall mymod drush cr drush -y en mymod 异常'Drupal \ Core \ Config \ PreExistingConfigException'和消息'mymod提供的配置对象(field.storage.bloom_stem.bs_twitter_ac)已存在于活动配置中' 因此,似乎我需要一些手动删除此配置对象的方法。在卸载模块时,我是否还需要提供一些删除它的代码?

11
如何在节点标题之前显示字段?
我想在D7中显示预告片时在节点标题之前呈现一个特定字段。 实际上,我想从这里转到这个。 我已经研究过更新node.tpl.php,但是我注意到它与之分开$title, $content所以我不确定如何处理。经过一些搜索,我发现人们建议使用CCK和ConTemplate模块在Drupal-6中解决此问题,但我想知道是否还有更多Drupal-7解决方案。 有什么建议么?
41 7  entities  nodes 

7
有没有一种好的方法来检查其类型是从EntityDrupalWrapper类派生的对象?
我确定这个问题也适用于其他复杂的对象类型,但这EntityDrupalWrapper是我目前正在使用的那个类型。这是entity_metadata_wrapper()(可能还有其他)返回的对象的类型。 使用如下代码时: $order_wrapper = entity_metadata_wrapper('commerce_order', $order_object); dpm($order_wrapper); Devel的输出没有太大帮助: 它没有显示您期望dpm()与之调用的stdClass对象,例如对象。 类似的调用dvm()确实会打印对象,但是以我不熟悉的方式,并且它不是很可读。 我试过了debug(),它会产生一个PHP用户通知,看起来像这样: 顺便说一句,该警告中包含的HTML输出与dvm()打印到屏幕上的输出相同。 如何检查这些类型的对象(最好使用Krumo),以便查看可用的属性?还是我坚持使用dvm()?

4
如何获取被引用实体的实例?
我有一个节点对象,其图像字段名为field_image。当我做 $node ->get('field_image') ->first() ->getValue() 我得到一些属性而不是实体对象的数组。该数组如下所示: 'target_id' => string '8' (length=1) 'alt' => string '' (length=0) 'title' => string '' (length=0) 'width' => string '587' (length=3) 'height' => string '458' (length=3) '_loaded' => boolean true '_accessCacheability' => object(Drupal\Core\Cache\CacheableMetadata)[1092] protected 'cacheContexts' => array (size=0) ... protected 'cacheTags' => array (size=0) ... …
35 8  entities 

11
使用EntityFieldQuery获取具有特定角色的所有用户
我以为这是一件容易的事,但是似乎没有Drupal方法。据我所知,我必须使用EntityFieldQuery它-因为API中提到的条件user_load_multiple()已弃用。 所以我尝试了这个: $query = new EntityFieldQuery; $query ->entityCondition('entity_type', 'user') ->propertyCondition('rid',array(1,2,3); $result = $query->execute(); 但是我得到了: PDOException:SQLSTATE [42S22]:找不到列:1054“ where子句”中的未知列“ users.rid”:SELECT users.uid AS实体ID,:entity_type AS实体类型,NULL ASversion_id,:bundle AS捆绑包来自{users}个用户在哪里(users.rid =:db_condition_placeholder_0); EntityFieldQuery-> execute()中的数组([:db_condition_placeholder_0] => 3 [:entity_type] =>用户[:bundle] =>用户) 所以我首先想到的是,我必须加入users_roles-Table等,但这将导致重复。 有谁知道如何做?
35 7  entities 

5
批量更新?
我向已经有许多节点的Drupal 7内容类型添加了一个新的(文本)字段。 如何为所有这些节点填充默认值?
35 7  entities 

9
在字段可伸缩性的上下文中,重用字段与创建新字段之间有什么良好的平衡?
我已经在网站上阅读了以下短语: 与其将新字段添加到内容类型,不如添加现有字段是降低系统复杂性并提高可伸缩性的更好选择。 并产生了一些疑问。 在我们正在开发的系统中,我们有可能在3种或4种内容类型之间重用一个字段,但恐怕它不会像引号中所说的那样提高可伸缩性,因为它会减少它,因为该字段的表会更快成为瓶颈。 (至少在这种情况下,这是我的推理,因为该字段的所有值在一起每年将达到数百万美元,这会使表太大)。你同意吗? 进行架构时,要针对多少行是明智的最大目标?这样,我们可以决定何时重用字段以及何时创建新字段(即使存在重用的机会)。


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.