首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用date_date_callbacks

如何使用date_date_callbacks
EN

Drupal用户
提问于 2019-05-06 14:03:53
回答 2查看 176关注 0票数 0

在Core\Datetime\Element的Datetime.php中,我读到:

代码语言:javascript
复制
#date_date_callbacks: Array of optional callbacks for the date element.
    Can be used to add a jQuery datepicker.

什么意思?我应该如何从jQuery函数中添加一个呢?现在,我正在使用作为库包含的JS文件,但是我希望使我的自定义小部件更独立(我正在开发一个使用jQuery数据报警器来选择星期的定制小部件)。

EN

回答 2

Drupal用户

发布于 2019-05-08 08:47:22

回调得到的第一个参数是$element,它本质上是呈现API概述中描述的呈现数组。例如,这意味着#date_date_callbacks回调可以使用类似于下面的代码。

代码语言:javascript
复制
function mymodule_date_callback($element, $form_state, $date) {
  $element['date']['#attached']['library'][] = 'mymodule/mylibrary';
  // Optionally, the callback can pass values to the JavaScript code.
  $element['date']['#attached']['drupalSettings']['foo'] = 'bar';
}
票数 1
EN

Drupal用户

发布于 2022-06-13 10:01:00

检查日期时间类的正式文档后,它似乎调用了#date_date_callback数组中作为字符串传递的所有函数名(检查processDatetime函数)。

代码语言:javascript
复制
// Allows custom callbacks to alter the element.
if (!empty($element['#date_date_callbacks'])) {
  foreach ($element['#date_date_callbacks'] as $callback) {
    if (function_exists($callback)) {
      $callback($element, $form_state, $date);
    }
  }
}

回调函数接受三个参数$element (主元素数组)、$form_state (当前表单状态)和$date (日期对象)。因此,典型的情况是在模块中实现hook_form_alter()并在其中添加自定义回调。

代码语言:javascript
复制
/**
 * Implements hook_form_alter().
 */
function custom_module_form_alter(&$form, &form_state, $form_id) {
  ..
  $form['field_name']['...']['value']['#date_date_callbacks'][] = 'custom_module_date_date_custom_callback';
  ..
}

/**
 * Implements custom date_date callback function.
 */
function custom_module_date_date_custom_callback(&$element, &form_state, $date) {
  ..
  // Do whatever changes you want to do with $element or $form_state.
  ..
}

请记住,$element$form_state是在这里通过引用传递的。这是一个非常重要的步骤,它确保您在回调中所做的任何更改都是永久的,并传递给表单元素的最终呈现。

票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/280815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档