Простой способ написать калькулятор в drupal 9

Аватар пользователя rukoved rukoved 3 сентября в 16:26

Есть сайт на drupal 9, хочу создать сложный калькулятор с возможностью загрузки данных из базы по результатам расчетов.
Нужен совет, что лучше для это использовать, какие инструменты? js, ajax, jawa, php.. писать модуль или к веб-формам подключить скрипт?
Ранее писала на семерке с привязкой к веб-формам js, но сейчас что-то сомневаюсь, возможно есть решения лучше.

Лучший ответ

Аватар пользователя rukoved rukoved 5 сентября в 10:35

данный вопрос с установкой тестового модуля решила, убрала пробел в этом файле.

Комментарии

Аватар пользователя vlucas vlucas 3 сентября в 16:39

Больше конкретики нужно.
Расчитывайте в js на фронте, делайте запрос ajax в свой контроллер и получайте что нужно.

Аватар пользователя ivnish ivnish 3 сентября в 16:56

По такому ТЗ сложно что-то подсказать. Напишите подробное ТЗ с потоками данных. Тогда и вам и нам будет понятно что вы хотите и как это лучше сделать

Аватар пользователя rukoved rukoved 3 сентября в 17:51

простое вычисление чисел по формулам, а по результату числа - загрузка текстовой и графической информации из бд на страницу (много запросов к базе данных будет). Результатов загрузки вариантов текста может быть до 30 параметров.

Аватар пользователя vlucas vlucas 3 сентября в 18:26
Аватар пользователя rukoved rukoved 3 сентября в 20:46

Я на drupal 9 пилю, информации почти нет по этой версии, потому и спрашиваю. Делаю какие-то вещи по урокам друпал 8, но в итоге не все работает, разница есть между версиями. По ссылкам прошлась до того как сюда пришла)

Аватар пользователя vlucas vlucas 3 сентября в 20:55

Разницы в API между версиями почти нет. На D9 всё прекрасно работает. Есть кое-какие предикаты, но всё гуглится и всё описано.

Аватар пользователя vlucas vlucas 3 сентября в 21:34

И вы бы лучше писали, что конкретно не работает. Скорее всего, было бы продуктивнее.

Аватар пользователя rukoved rukoved 3 сентября в 22:46

Например вот по этой ссылке https://niklan.net/blog/66 создаю модуль и не работает.. - ошибка, в чем разница не понимаю, в друпал 8 работает а в 9-ке никак

Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script in /var/www/numerolog.com/modules/custom/helloworld/src/Controller/HelloWorldController.php on line 19
Аватар пользователя rukoved rukoved 4 сентября в 17:50

Добрый вечер, код я пишу тот же, что по ссылке ранее указала, там он есть на странице

Аватар пользователя rukoved rukoved 5 сентября в 10:31

код скопирован со страницы, спорить не буду, факт остается - ошибка
Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script in /var/www/testsite.com/modules/custom/helloworld/src/Controller/HelloWorldController.php on line 19

на 19 строке вот это:
namespace Drupal\helloworld\Controller;

Страница, заявленная в модуле не находится, а ошибка вылетает при очистке кеша

Аватар пользователя rukoved rukoved 5 сентября в 10:35

данный вопрос с установкой тестового модуля решила, убрала пробел в этом файле.

Аватар пользователя vlucas vlucas 5 сентября в 10:38

скорее всего это был не просто пробел, а невидимый спец символ, который вы скопировали

Аватар пользователя vlucas vlucas 5 сентября в 10:33

Факт в том что у вас ошибка!

Скачал:

Изменил только лишь одну строчку, чтобы модуль был для D9, кто работает с ним априори знают это, так как не любой контриб сейчас вообще включится. Но и вы судя по тому что модуль как то включили это знаете:
в info файле меняем : core: 8.x
# Версия ядра для которого модуль.
core_version_requirement: ^8 || ^9

ВСЁ!

Аватар пользователя rukoved rukoved 5 сентября в 10:37

я не скачивала модуль, копировала со страницы и создавала файлы сама, каким-то образом с пробелом скопировала, но этот вопрос оказывается уже поднимали там-же, пробелы нельзя, там есть объяснение в комментарии на странице

Аватар пользователя rukoved rukoved 5 сентября в 10:39

да, это конечно я поменяла, без вопросов, но проблема оказалась в пробеле )))

Аватар пользователя vlucas vlucas 5 сентября в 10:41
1

Да да да. Это как студенты/школьники пишут программу, а у него не компилируется и он психует: компьютер виноват - не верно сделан ))) Так и тут - D9 какой-то "сырой" - он во всём виноват ))) а не я ) АПИ разные

Аватар пользователя rukoved rukoved 5 сентября в 10:47

форум для того и существует, чтобы решать непонятные вопросы, ведь так? Никто не психует, даже опытные программисты сталкиваются с проблемами и решают, это нормально. Я с пхп еще на вы, программировала на asp vb ранее, но это не мешает мне уже несколько лет создавать сайты и интернет-магазины на drupal.

Аватар пользователя vlucas vlucas 5 сентября в 10:37

Страница, заявленная в модуле не находится, а ошибка вылетает при очистке кеша

Это как это так-то?
а файл helloworld.routing.yml у вас в модуле есть?
Так вот он и определяет эту страницу!

Аватар пользователя rukoved rukoved 5 сентября в 10:51

rukoved wrote: данный вопрос с установкой тестового модуля решила, убрала пробел в этом файле.

Иногда эта проблема возникает из-за пробела в стартовом теге PHP контроллера