0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 1122 Просмотров
*

DyadyaGenya

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Ещё вопросы от новичка. Поскольку решил, что учить Joomla мне рановато, стал разбираться с PHP. Заметил, что формы в PHP создаются с помощью html-тегов и потом обрабатываются собственно PHP скриптом. Но если я правильно понял, то при написании модулей для Joomla в файле манифеста (xml) прописываются поля формы, html-тегов я там не видел. А как они дальше "грузятся" на php-странице?
*

sivers

  • Живу я здесь
  • 2450
  • 333 / 0
Шаблон xml-файла:

Код
<?xml version="1.0" encoding="UTF-8"?>
<form>
    <fields name="myGroupOfFields">
        <fieldset name="myFieldSet">
            <!-- Fields go here -->
        </fieldset>
        <fieldset name="myOtherFieldSet">
            <!-- Fields go here -->
        </fieldset>
    </fields>
</form>

Подключение и вывод формы:

Код
        $form = JForm::getInstance('myform', __DIR__ ."/test.xml");
        echo $form->renderFieldset('myFieldSet');

Описание доступных полей:
https://docs.joomla.org/Form_field#Standard_form_field_types
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

DyadyaGenya

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
        $form = JForm::getInstance('myform', __DIR__ ."/test.xml"); echo $form->renderFieldset('myFieldSet');
Я так понимаю это на Joomla, а где прописан класс JForm? Хотелось бы посмотреть, как он там реализован
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
то, что в XML - это перечисление полей с настройками - админская часть.
как оно там обрабатывается - вам сейчас знать не нужно.
если вы свою форму пишете, которая на фронте будет видна, то она будет собираться через обычный php + HTML в шаблоне вашего модуля, а в нужных местах надо сделать вывод значений из полей.

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

возьмите модуль с обратной связью простой и посмотрите, как там устроено.
*

sivers

  • Живу я здесь
  • 2450
  • 333 / 0
Я так понимаю это на Joomla, а где прописан класс JForm? Хотелось бы посмотреть, как он там реализован
Описание здесь:
https://api.joomla.org/cms-3/classes/Joomla.CMS.Form.Form.html
Релизация зедсь:
/libraries/src/Form/Form.php

С помощью XML можно как собирать хтмл-формы (рендерить), так и выполнять их валидацию на стороне сервера. Позволяет отказаться от компонентов-строителей форм (напр. RSFrom).

Но, соглашусь с комментом выше, для начала лучше писать формы самому на простом HTML или использовать конструкторы (тот же RSForm) - меньше дров наломаете.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

DyadyaGenya

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Но, соглашусь с комментом выше, для начала лучше писать формы самому на простом HTML или использовать конструкторы (тот же RSForm) - меньше дров наломаете.
Когда я тренируюсь с PHP, то пишу форму на HTML, про RSForm пока не слышал. Просто у меня этот вопрос возник по двум причинам.1. Не увидел в админке модулей Joomla html-форм, возможно не там искал. Но вроде бы кроме php, XML, CSS, js ничего нет. Про формы только в XML идет речь.2. Стало интересно, как сохраняются данные, введенные в форму админки модуля, потому что пока для php нашел только сохранение в БД, запись в файл (в тот же css), куки, сессии. При этом в Joomla как не зайди в админку модуля все значения на местах в поле формы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну на самом деле там никакой фантастики нет, данные сохраняются в базу, а при повторном открытии опять парсится XML, и туда подставляются параметры из базы. а могут сохраняться в файл, так например сохраняется Общая конфигурация, в файл configuration.php в корне сайта
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

DyadyaGenya

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
ну на самом деле там никакой фантастики нет, данные сохраняются в базу, а при повторном открытии опять парсится XML, и туда подставляются параметры из базы
Ещё не пробовал переносить свои пробы с php в Joomla, но прежде чем попробовать возникает вопрос, будут ли работать мои скрипты php для работы с html-формой в модуле Joomla, или их придется допиливать для работы с XML? Ведь судя по тому что туда сохраняются данные из БД в модуле без XML не обойтись, даже если я напишу форму в php?
И ещё просьба, я создавал тему про выбор бэкграунда в Joomla, можете её глянуть?
*

sivers

  • Живу я здесь
  • 2450
  • 333 / 0
будут ли работать мои скрипты php для работы с html-формой в модуле Joomla, или их придется допиливать для работы с XML?
Конечно, буду. PHP тут первичен. АПИ Joomla дает дополнительные удобства, если умеете ими пользоваться, но это не обязательно и можно не пользоваться вовсе. Пишите на чистом PHP, если нравится. С базой тоже можно работать без использования классов Joomla.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Ведь судя по тому что туда сохраняются данные из БД в модуле без XML не обойтись, даже если я напишу форму в php?
в модуле в любом случае не обойтись без XML, поэтому нет просто смысла делать форму каким то иным образом
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

reCAPTCHA V2 Google - Для Joomla 3

Автор Alex GOOD

Ответов: 35
Просмотров: 8231
Последний ответ 10.01.2024, 21:41:38
от Vastriet
Joomla 3.10.12 и MySQL 8

Автор designer71

Ответов: 0
Просмотров: 368
Последний ответ 19.10.2023, 11:25:18
от designer71
Не создается и не дублируется страница в приложении

Автор Слава

Ответов: 0
Просмотров: 304
Последний ответ 18.10.2023, 12:12:43
от Слава
Почему Joomla не поддерживает формат webp?

Автор Sensession

Ответов: 74
Просмотров: 10451
Последний ответ 03.10.2023, 19:44:42
от fsv
erid в Joomla

Автор newalex

Ответов: 0
Просмотров: 302
Последний ответ 25.09.2023, 18:45:34
от newalex