Tôi đang phát triển một tính năng cho phép người dùng ẩn danh nhận được qua email kết quả của một khía cạnh + API tìm kiếm.
Các khía cạnh và API tìm kiếm hoạt động hoàn hảo. Mô-đun tùy chỉnh cũng cho phép gửi email. Tôi cũng đã tạo một biểu mẫu tùy chỉnh (FormAPi) để cho phép người dùng gửi thư và gửi dữ liệu khi gửi.
Để có kết quả tìm kiếm khía cạnh, tôi sử dụng tiền xử lý_views_view
Trong .module
tập tin
hàm my_module_pre process_views_view__VIEW_ID(mảng &$biến): void {
foreach ($variables['view']->kết quả là $result) {
$node = $result->_object->getEntity();
$title = $node->get('title')->getValue()[0]['value'];
$custom_field = $node->get('custom_field')->getValue()[0]['value'];
}
}
Mỗi khi một khía cạnh được sửa đổi, tôi có thể xem kết quả bằng một bãi rác()
và mọi thứ đều ổn. Có thể đây không phải là cái móc phù hợp trong trường hợp của tôi nhưng nó trả về những gì tôi mong đợi.
Tuy nhiên, tôi không biết cách chuyển kết quả của hook này sang biểu mẫu tùy chỉnh được chèn vào khối tùy chỉnh trên trang có chế độ xem kết quả thuộc tính.
Khi người dùng gửi biểu mẫu, tôi cần biết hook đã trả về trước đó trong SendSearchForm() là gì
hàm công khai submitForm(mảng &$form, FormStateInterface $form_state) {
// email do người dùng nhập
$email = $form_state->getValue('email');
// gửi email nhưng cũng cần gửi kết quả my_module_pre process_views_view__VIEW_ID
$this->sendEmail($email, $facets_result);
}
Bạn có đề xuất nào để thực hiện việc này đúng cách với Drupal không?
CHỈNH SỬA: Tôi đã thấy hơn những gì tôi có thể sử dụng chức năng drupal_static
. Nó là một ý tưởng tốt ?