Questions tagged «entities»

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

2
使用EntityFieldQuery时如何绕过node_access?
使用以下代码,如果当前用户不具有“旁路节点访问权限”(请参阅_node_query_node_access_alter()了解确切的验证信息),那么即使我不使用“ node_access”标签,查询也会检查node_access。 对于非管理员用户,如何通过以下查询避免node_access检查? 我正在使用来自模块的此代码,因此我可以自己验证权限,而无需进行node_access检查。 $query = new EntityFieldQuery; $result = $query ->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'foo') ->fieldCondition('custom_id', 'value', $custom_id) ->execute();
12 7  entities  users 

1
通过URI加载文件实体
有没有办法在Drupal 8或Drupal 9中通过URI加载文件? 在下一个示例中,在Drupal 7中是可能的: $uri = 'public://file.xyz'; // Take a look at: file.inc::file_load_multiple $files = file_load_multiple(array(), array('uri' => $uri)); $file = reset($files); // If empty, $file will be false, otherwise will contain the required file 从这里获取https://www.drupal.org/forum/support/module-development-and-code-questions/2012-06-06/load-a-file-by-uri#comment-6493610
12 8  entities  files  uri 

1
字段集合与段落
我在以前的站点中使用过Field Collection,但是遇到了一些性能问题,所以这次我正在寻找Field Collection的替代产品。我找到了答案的替代场馆藏。 但是我对这些解决方案有何不同(特别是[ 字段集合和段落 ])有什么不同。 也许有人可以帮助解释?这样我才能做出一个好的决定。

1
恢复已删除的字段
我有一个具有4个字段的内容类型,每个字段都是一个术语引用。有100个节点,每个节点分配4个术语参考。我无意中从admin> structure> content-types> mycontent-type ...中删除了这些字段之一...导致所有100个节点丢失了该丢失字段所包含的引用术语。 安装数据库管理模块后,我可以看到删除字段的数据库仍然存在,它已重命名为“ field_deleted_field_74” 使用mysql,我已经能够将此数据库重命名为“ field_data_field_originalname”-即对删除的字段使用原始计算机名 此外,我已经能够将该数据库中已删除列的值从“ 1”切换为“ 0”。 我已经用另一个我发现的名为“ field_revision_field_74”的“ ghost”数据库完成了上述操作... 我现在的问题是,我的重命名字段在内容类型管理字段显示中或在admin> reports> fields列表中都没有显示为预先存在的字段。当我运行“草场信息字段”时,它也丢失了。 我该如何找回它?我假设存在另一个需要编辑的数据库。 谢谢!

3
如何从EntityMetadataWrapper对象获取文件URI?
使用一个字段可以很容易地通过字段掌握与节点相关的文件对象EntityMetadataWrapper: $wrapper = entity_metadata_wrapper('node', $node); $images = $wrapper->field_images; 太好了。但是,我想使用标准文件对象的某些属性,但它们不可用。当我查看$images[0]->file使用以上代码时可用的属性时,会看到以下内容: 菲德 名称 哑剧 尺寸 网址 时间戳记 所有者 最值得一提的是,uri缺少该url属性,而在该属性中有一个属性,即图像文件的完整外部URL。我想通过它们的URI(创建缩略图等)来操纵这些图像,所以我就这样做了: $fid = $images[0]->file->fid->value(); $uri = file_load($fid)->uri; 首先,这似乎否定了使用a的全部要点EntityMetadataWrapper。 我想念什么?包装文件对象上的URI在哪里?如果没有它,为了热爱所有美好而纯洁的事物,为什么不呢? 我知道我可以将URL解构回URI,但这感觉非常不必要。
11 7  entities 


1
EntityFieldQuery真的效率低下吗?
我是Entity API的认可新手,但正在尝试解决该问题。我正在一个使用多种内容类型并附加了各个字段的网站上工作;没有什么花哨。因此,当我想检索一组条目时,由于无知,我一直直接调用数据库并执行以下操作: $query = db_select('node', 'n')->extend('PagerDefault'); $query->fields('n', array('nid')); $query->condition('n.type', 'my_content_type'); $query->leftJoin('field_data_field_user_role', 'role', 'n.nid = role.entity_id'); $query->condition('role.field_user_role_value', $some_value); $query->leftJoin('field_data_field_withdrawn_time', 'wt', 'n.nid = wt.entity_id'); $query->condition('wt.field_withdrawn_time_value', 0); $query->orderBy('n.created', 'desc'); $query->limit(10); $result = $the_questions->execute()->fetchCol(); (是的,我可能会把这些行折叠成一个$the_questions->语句;请暂时忽略它。) 试图用EntityFieldQuery重写它,我想出了: $query = new EntityFieldQuery(); $query ->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'my_content_type') ->fieldCondition('field_user_role', 'value', $some_value) ->fieldCondition('field_withdrawn_time', 'value', 0) ->propertyOrderBy('created', 'desc') ->pager(10); …
11 7  database  entities 


6
如何在完整内容视图中的正文上显示摘要(摘要)
我想在标题下方的每篇文章的顶部显示一个预告片,如以下“完整内容”布局所示: 标题 预告片(文章摘要) 图片 身体 此外,预告片应具有自己的格式(例如,斜体和更大的字体) 如果不编辑tpl文件或核心文件,我找不到任何方法。 一种解决方案是在我的内容类型中添加一个新字段“ article_teaser”,然后管理显示以使我的布局显示在“完整内容”视图中。这可行,但是我不喜欢在输入内容表单中有两个预告字段,因为我应该键入两次相同的文本。 看来我无法将字段主体拆分为“文本”和“摘要”部分,但只能显示其中一个,而不能同时显示两者! 有什么办法(一个模块?)来做到这一点? (我的环境:具有Zen子主题的Drupal7。)
11 7  nodes  entities 

6
从实体获取字段的值
我在网站上安装的是Entity API和Entityform模块。Entityform模块允许我创建任何用户都可以提交的表单,并且表单域可供我在视图中使用,类似于内容类型的工作方式。 通常,要使用php将节点的字段值拉入模板,我会执行以下操作: <?php echo $node->field_name[$node->language][0]['value']; ?> 但是,这不适用于实体形式/实体。 有人知道为实体表单中的字段执行此操作的方法吗?有人建议使用devel和dpm()函数,但我也不知道如何使用它们。 关于如何获得该领域价值的一些具体示例确实会对我有很大帮助。
11 7  entities 

1
一切都需要捆绑吗?
我正在学习Entity API。我有一个简单的额外表,希望对其进行“删除”,以便可以在Views中使用它。 我已经阅读了很多,看了一些视频,看了很多例子。我坚持捆绑的概念。我了解什么是捆绑包(例如,节点类型是节点实体的捆绑包)。 但是对于我来说,将永远只有一捆。在示例中,我已经看到捆绑包存储在数据库表中。这对我来说不是必需的,因为针对每个记录存储的值将是相同的。所以我想我可以以某种方式跳过此步骤,或者让我的实体始终返回捆绑的标准字符串。 我误会了吗?捆绑软件是否总是必须在数据库表级别实现并实现?
11 7  entities 

2
更改hook_field_formatter_view吗?
改变现场输出的最佳方法是什么?我发现“ hook_field_formatter_view ”,但似乎没有类似“ hook_field_formatter_view_alter”的东西存在。就我而言,我有一个地址字段(Addressfield模块),该地址字段在DrupalCommerce的结帐页面上的“发货”和“结算”窗格中使用。我想向这些字段添加一些js,最好使用Drupal的Form API“ #attached”
11 entities 

1
为什么字段窗口小部件不是表单元素?
表单元素通常与字段小部件分开,但是它们实现了非常相似的功能。 有时,它们的功能也会在这两个api之间蔓延,例如在以下问题中:是否可以单独显示工作的Field Widget Form? 在我看来,字段小部件可以是一个表单元素,这也合乎逻辑,它也可以直接映射到某些基础存储,特别是因为在字段api出现时表单api已经就位。 我想知道为什么不是这种情况。 编辑: 正如下面的kiamlaluno所指出的那样,根据官方文档,小部件是 Form API元素,这意味着我需要稍微编辑一下问题。 我开始对此感到疑惑,因为我想将Core tagging小部件用作表单元素。据我所知,没有简单的方法可以做到这一点。尽管文档声称小部件是元素,但这似乎不一定是正确的。 如果小部件被声明为 function hook_widget_info() { return array('my_widget' => array( 'base element' => 'some_form_element_machine_name', )) } 那么元素定义将与小部件分开,以便可以在两种方式上使用它,但是当前情况并非如此。 编辑2: 功能请求已打开。
11 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.