Есть сайт на drupal 9, хочу создать сложный калькулятор с возможностью загрузки данных из базы по результатам расчетов.
Нужен совет, что лучше для это использовать, какие инструменты? js, ajax, jawa, php.. писать модуль или к веб-формам подключить скрипт?
Ранее писала на семерке с привязкой к веб-формам js, но сейчас что-то сомневаюсь, возможно есть решения лучше.
Простой способ написать калькулятор в drupal 9
Главные вкладки
Лучший ответ
данный вопрос с установкой тестового модуля решила, убрала пробел в этом файле.
Комментарии
Больше конкретики нужно.
Расчитывайте в js на фронте, делайте запрос ajax в свой контроллер и получайте что нужно.
а где можно об этом почитать, мне бы побольше информации
По такому ТЗ сложно что-то подсказать. Напишите подробное ТЗ с потоками данных. Тогда и вам и нам будет понятно что вы хотите и как это лучше сделать
простое вычисление чисел по формулам, а по результату числа - загрузка текстовой и графической информации из бд на страницу (много запросов к базе данных будет). Результатов загрузки вариантов текста может быть до 30 параметров.
Погуглил за вас:
https://www.drupal.org/docs/drupal-apis/javascript-api/javascript-api-ov...
https://api.drupal.org/api/drupal/core!core.api.php/group/ajax/8.2.x
https://drupalfly.ru/lesson/drupal-8-sozdanie-ajax-ssylki
https://drupalbook.org/ru/drupal/88-rabota-s-javascriptjquery-v-drupal-8...
https://niklan.net/blog/127
https://drupal.ru/docs/videouroki/drupalbookru/88-rabota-s-javascriptjqu...
Я на drupal 9 пилю, информации почти нет по этой версии, потому и спрашиваю. Делаю какие-то вещи по урокам друпал 8, но в итоге не все работает, разница есть между версиями. По ссылкам прошлась до того как сюда пришла)
Разницы в API между версиями почти нет. На D9 всё прекрасно работает. Есть кое-какие предикаты, но всё гуглится и всё описано.
И вы бы лучше писали, что конкретно не работает. Скорее всего, было бы продуктивнее.
Например вот по этой ссылке 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/testsite.com/modules/custom/helloworld/src/Controller/HelloWorldController.php on line 19
на 19 строке вот это:
namespace Drupal\helloworld\Controller;
Страница, заявленная в модуле не находится, а ошибка вылетает при очистке кеша
Сегодня же сам проверю
данный вопрос с установкой тестового модуля решила, убрала пробел в этом файле.
скорее всего это был не просто пробел, а невидимый спец символ, который вы скопировали
все может быть.. но я голову сломала))) искать то, что не видно
Смените IDE на ту, которая всё видит
Факт в том что у вас ошибка!
Скачал:

Изменил только лишь одну строчку, чтобы модуль был для D9, кто работает с ним априори знают это, так как не любой контриб сейчас вообще включится. Но и вы судя по тому что модуль как то включили это знаете:
в info файле меняем : core: 8.x
# Версия ядра для которого модуль.
core_version_requirement: ^8 || ^9
ВСЁ!
я не скачивала модуль, копировала со страницы и создавала файлы сама, каким-то образом с пробелом скопировала, но этот вопрос оказывается уже поднимали там-же, пробелы нельзя, там есть объяснение в комментарии на странице
Какой IDE пользуетесь?
Апач нетбинс
да, это конечно я поменяла, без вопросов, но проблема оказалась в пробеле )))
Да да да. Это как студенты/школьники пишут программу, а у него не компилируется и он психует: компьютер виноват - не верно сделан ))) Так и тут - D9 какой-то "сырой" - он во всём виноват ))) а не я ) АПИ разные
форум для того и существует, чтобы решать непонятные вопросы, ведь так? Никто не психует, даже опытные программисты сталкиваются с проблемами и решают, это нормально. Я с пхп еще на вы, программировала на asp vb ранее, но это не мешает мне уже несколько лет создавать сайты и интернет-магазины на drupal.
Согласен. С опытом всё приходит
Почистил кеш - ничего не вылетело...

Это как это так-то?
а файл helloworld.routing.yml у вас в модуле есть?
Так вот он и определяет эту страницу!
jawa
Купил яву - копай яму? )))
взял я на халяяву
Точняк!
Иногда эта проблема возникает из-за пробела в стартовом теге PHP контроллера