在Drupal 8中向字段小部件添加元素

时间:2017-03-10 15:40:22

标签: drupal drupal-8

我需要完成的是向节点小部件添加节点的链接(该节点包含正确编译字段的格式化指令)。

到目前为止,我已经能够使用第三方设置在字段配置表单中添加节点引用字段:

function mymodule_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  if ($form_id === 'field_config_edit_form' && $form_state->getFormObject()->getEntity()->get('entity_type') == 'myentity') {

    $field = $form_state->getFormObject()->getEntity();
    $help_page_id = $field->getThirdPartySetting('mymodule', 'help_page_id');

    $form['help_page_id'] = array(
      '#type' => 'entity_autocomplete',
      '#title' => t('Help page'),
      '#target_type' => 'node',
      '#selection_handler' => 'default',
      '#selection_settings' => array(
        'target_bundles' => array('help_page'),
      ),
      '#default_value' => $help_page_id ? Node::load($help_page_id) : NULL,
      '#weight' => 100,
    );

    $form['#entity_builders'][] = 'mymodule_form_field_config_edit_form_builder';
  }
}

现在,我在显示表单时检索此信息时遇到了麻烦,并且更改了字段小部件以显示链接。 使用hook_field_widget_form_alter,我无法从我拥有的参数中获取自定义配置值:

function mymodule_field_widget_form_alter(&$element, \Drupal\Core\Form\FormStateInterface $form_state, $context) {

}

我想我必须加载字段配置实体,但我不知道如何。

1 个答案:

答案 0 :(得分:0)

我没有测试过,但是这样的事情应该有效:

<div ng-app="">  
  <button ng-click="showme=!showme">SHOW/HIDE</button> 
  <div class="wrapper">
    <p ng-hide="showme">It will appear here!</p>
    <input ng-show="showme" type="text" name="s" placeholder="Search..." />
  </div> 
</div>