获取自定义内容类型的选择字段中的可用选项列表 -- forms 领域 和 8 领域 和 entities 领域 和 blocks 领域 drupal 相关 的问题

Get list of available options in a select field of custom content type


2
vote

问题

中文

我创建了一种称为"幻灯片" 的自定义内容类型,该类型具有一个名为'field_category'的自定义选择字段。我希望能够将"field_category" 的可用选项加载到块形式的选择字段中。

目前正在尝试遵循答案的说明这里,但我仍然有困难。

我抓住了内容类型定义,如此

  $definitions = Drupal::service('entity_field.manager')->getFieldDefinitions('node', 'slide');   

然而,当我吐出

  print_r($definitions->getFieldDefinition('field_category'))   

我实际上无法找到抓取的任何选项。有没有办法以编程方式抓住自定义内容类型的字段的可用选项?

英文原文

I created a custom content type called 'slide' that has a custom select field called 'field_category'. I would like to be able to load the available options of 'field_category' into the select field of a block form.

I'm currently attempting to follow the instructions of an answer to a similar question here but I'm still having trouble.

I'm grabbing the content type definitions like so

$definitions = \Drupal::service('entity_field.manager')->getFieldDefinitions('node', 'slide'); 

However when I spit out

print_r($definitions->getFieldDefinition('field_category')) 

I can't actually find any of the options to grab. Is there a way to grab the available options of a field of a custom content type programmatically?

           

回答列表

7
 
vote
vote
最佳答案
 
  $definitions = Drupal::service('entity_field.manager')->getFieldDefinitions('node', 'slide'); $definition = $definitions['field_category']; $settings = $definition->getSettings(); $allowed_values = $settings['allowed_values'];   
 
$definitions = \Drupal::service('entity_field.manager')->getFieldDefinitions('node', 'slide'); $definition = $definitions['field_category']; $settings = $definition->getSettings(); $allowed_values = $settings['allowed_values']; 
 
 

相关问题

5  没有ajax从模态内部初始化  ( No ajax gets initialised from inside the modal ) 
我有一堆在模态内部打开的形式,以便用户未被重定向页面。然后我在表单中的表单项目上有几个AJAX呼叫。它们都在页面中使用表格而不是模态时工作,但是当在模态时,它只会获得AJAX错误。 最简单的ajax功能如下: function hook_form_alter(&$form, $form_state, $form_...

1  在某些页面上重定向用户登录表  ( Redirecting user login form on certain page ) 
方案是: 我已经使用hook_menu实现了一个菜单,在该页面中,它检查用户是否可以访问创建某些内容类型(调用请求),如果他/她确实可以访问它将使用drupal_get_form加载内容创建页面,否则它会检查是否用户尚未登录,在这种情况下它加载user_login_block,再次使用drupal_get_form函...

0  联系表单节点集成  ( Contact form node integration ) 
我有内容类型,我想在节点页面底部添加联系人按钮,但是 我有问题所以如何添加一个简单的联系表单,即在消息中添加节点标题以及当匿名用户转到名为"示例12" 的节点页面时,主体文本之后有"联系人" 或"提出更多" 按钮它表明了页面。 用户离开消息后,它进入管理员内容列表和管理员知道他/她去那里的页面。 示例i检查页面名为...

1  在要需要的实体表单上设置字段  ( Setting a field on an entity form to be required ) 
我在内容实体上有一个多值实体参考字段,我使用延伸延伸FormBase的ContententityForm的自定义表单类来显示,该类别扩展了EntityForm。 我想设置要需要的字段:使用此表单时,必须选择至少一个实体以引用。然而,我不想使这个实体级别约束,因为在所有情况下都不是绝对需要。 在表单中,更改钩子(以及我...

3  如何在表单上返回所选的单选按钮文本  ( How can i return the selected radio button text on a form ) 
我在表单上有两个单选按钮,例如如下: ()paul ()james 当我使用follwoing代码时,我会根据我的选择获取值0或1。我怎么能得到 paul 或 james ? 谢谢你的帮助。 $chosen =$form_state['values']['name_options']; ...

0  Infinit循环当我提交表单并使用附加参数重定向到此表格  ( Infinit loop when i submit a form and redirect to this form with an additionnal ) 
我创建了一种形式。提交表单时,我希望重定向到表单页面并传递另一个参数。 我这样做: public function buildForm(array $form, FormStateInterface $form_state, $results = null) { if ($results) { cu...

0  如何以编程方式获得实体的验证错误?  ( How can i programmatically get an entitys validation errors ) 
我通过自定义,非实体表单以编程方式提交实体。如何在提交之前验证实体,并将验证错误报告给用户存在? ...

1  Drupal 8,使用自定义模板枝条的自定义表单定义的变量  ( Drupal 8 use variable defined from custom form in custom template twig ) 
我创建了一种自定义表单,自定义枝形模板,我会用主题挂钩链接'。 从窗体类的BuildForm方法中,我定义了这样的变量: public function buildForm(array $form, FormStateInterface $form_state) { $form['#foo'] = arra...

0  是否可以在节点编辑表单上显示所有语言?  ( Is it possible to show all languages on the node edit form ) 
我正在用两种语言开发一个Drupal网站。主节点类型具有大量字段,但只有两个是可翻译的。 是否可以在主编辑表单上显示来自两种语言的输入字段? ...

1  仅在特定页面(URL)中加载表单(URL)时重定向表单  ( Redirect a form just if the form is loaded in specific pageurl ) 
我已经使用hook_menu()实现了一个菜单,页面回调函数检查用户是否登录,如果用户以使用drupal_get_form,User(用户)以用于创建类型的"请求" 的表单,则加载登录块。 现在我要找的是当用户登录时,他/她返回此页面,所以现在他可以填写表格。 我不希望所有用户登录事件重定向到此页面,所以现在我的问题...

4  通过表单API获取文件名上传?  ( Get file name upload via form api ) 
我制作了一个模块以换句形式上传文件,下面是我的代码段,我能够在适当的文件夹中保存文件,但我想要获取上传的文件名,以便在数据库中保存它,我尝试了很多东西,但却无法做到这一点。 class MyForm extends FormBase { /** * {@inheritdoc} */ publi...

2  如何以表单获取复选框值?  ( How to get checkboxes values in a form ) 
这是我的代码: $form['how_many'] = [ '#type' => 'checkboxes', '#required' => true, '#options' => [ '1' => t('one'), '2' => t('two'), '3' => t('...

1  如何以表单更改DATE_POPUP日期格式?  ( How to change date popup date format in form ) 
我正在使用带日期模块的DatePicker的自定义模块的配置页面。 当我将#date_format设置为'dmy'时,我需要一个日月年的格式,但是当我提交表单并尝试从变量_get()获得变量时,我只看到了一年日的格式,< / p> 目标:我需要这个变量以显示为默认值或以适当的日期格式显示占位符('d-m-y'),...

0  hook_form_formid_alter选择列表默认值  ( Hook form formid alter select list default value ) 
我创建了一个自定义模块,以覆盖由视图创建的公开表单的某些字段。其中一个过滤器是数字字段上的滤波器之间。过滤器之间的每个字段都会为表单中的每个字段生成最小和最大字段。我要做的是替换有用户可以从中选择的整数列表中的min和max文本字段。我被困在哪里是列表的默认值。我继续收到以下消息: "已检测到非法选择。请联系网站管理...

1  默认情况下可以查看支持票证订阅  ( Make support ticket subscriptions visible by default ) 
我有一个drupal 7站点使用支持票务系统模块。查看票证时,客户端希望默认情况下可见的FieldSet(ID ="编辑" )。目前它是崩溃的,并且您必须单击它以展开该字段。 这个问题类似于a 上一篇文章, Hook_Form_Base_Form_ID_ALTER()允许我在正在编辑票证时默认展开订阅的字段。 但...

2  如何写一个部分“setrebuild”?  ( How to write a partial setrebuild ) 
我创建了一个包含类表单的自定义模块。当我提交表单时,我将用户重定向到表单页面。在提交期间,我需要保存 form_state 变量以在用户重定向到表单后重新使用它。 所以,从我的提交方法中,我保存我的变量(带有" $form_state->set(...) " ),我添加了" 99887662 " 。 所有工作都完...

1  替换在Ajax回调上的文本字段值  ( Replace textfield value on ajax callback ) 
1)我在这里缺少一些东西吗?它没有替换文本字段值。 2)如果我在表单中有多个文本字段和多个按钮,我如何替换。 <?php function test($form, &$form_state) { if (isset($form_state['values']['your_name'])) ...

0  如何从表单字段创建URL?  ( How do i create a url from a form field ) 
我太过分了。在重定向结果的模块中创建URL。 $form_state['redirect'] = url('studio/' . $studio_profile->field_studio_name[LANGUAGE_NONE][0]['value']. '/class-timetable'); 我得到这个...

0  内部表格属性意味着什么?  ( What does internal form properties mean ) 
在drupal form-api页面,有读取的段落: 请注意,内部属性不包含在下表中,但 包含在属性列表中。这些包括:#built,#children, #error,#id,#input,#printed,#validation_arguments 与其他形式元素属性类型相比,"内部" 是什么意思...

1  显示图像和文本上面的形式  ( Display image and text above form ) 
我在drupal 8中有表格api, 现在,我想在该表单上显示一个图像和一些文本描述,这意味着,在表单呈现之前,我可以想到的是,做一个node_load,然后用node_load值或实体加载来提示和前缀, 但我的问题是,如果我为node_load或entity_load编写函数,我将在哪里调用这些函数的返回值? 我在...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.