Nano Hash - криптовалюты, майнинг, программирование

Drupal 7 - Пользовательский модуль Form API

У меня есть форма, которая вычисляет два значения, форма работает отлично, однако у меня есть некоторые проблемы с тем, как я могу вычислить два значения и вернуть ответ в виде отображаемого HTML, чтобы я мог стилизовать все это красиво и красиво, чтобы пользователь мог видеть .

Вся помощь будет высоко оценена. Спасибо.


  • У вас есть примеры того, что вы пробовали? 06.12.2012
  • Я собирался попробовать hook_submit, но еще не пробовал, но я не уверен, что это даст желаемый результат. Должен быть какой-то крючок, который делает то, что мне нужно. 06.12.2012

Ответы:


1

В форме Drupal есть три типа обратного вызова, которые обычно необходимы для создания формы:

  • Конструктор форм — это функция, которая создает форму, используя массив, понятный API форм.
  • Обработчик проверки формы — это функция, которая проверяет значения, отправленные пользователями.
  • Обработчик отправки формы — это функция, которая воздействует на значения, отправленные пользователями.

Из этих функций последняя выводит результат вычисления значений, отправленных пользователями. Обычно обработчик отправки формы сохраняет данные в базе данных и показывает сообщение пользователям через drupal_set_message(), но он также может просто показывать результат операций, выполненных с введенными данными.

Начиная с Drupal 7, выходные данные обработчика отправки формы, а также выходные данные, полученные из обратного вызова меню, могут быть массивом рендеринга, а не строкой. Массив рендеринга имеет то преимущество, что его легко изменить из сторонних модулей через hook_page_build() или hook_page_alter().

node_view() является примером обратный вызов меню, который возвращает массив рендеринга, а не строку.

07.12.2012
  • Класс. Большое Вам спасибо. Очень полезно. Сейчас я выберу drupal_set_message, так как клиент не согласен с этим, но я буду искать решение hook_page_build, так как это, возможно, то, что я ищу в долгосрочной перспективе. 07.12.2012
  • Если это помогло вам прийти к ответу, подумайте о том, чтобы сделать его ответ принятым. 07.12.2012

  • 2

    Если это просто сообщение, которое вам нужно, вам следует изучить drupal_set_message. Это позволяет вам установить сообщение следующим образом:

    drupal_set_message(t('Hello, world.'),'myClass');
    

    Что выводит HTML следующим образом:

    <div class="messages myClass">Hello, world</div>
    

    Это был бы очень простой способ установить сообщение, которое пользователь увидит после отправки формы. Если вам нужно что-то более продвинутое, посмотрите мой ответ здесь и этот ответ Drupal здесь.

    06.12.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..