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

DyadyaGenya

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

sivers

  • Давно я тут
  • 632
  • 62 / 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
На связи в телеге @sivers
*

DyadyaGenya

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

effrit

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

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

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

sivers

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

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

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

DyadyaGenya

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

dmitry_stas

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

DyadyaGenya

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

sivers

  • Давно я тут
  • 632
  • 62 / 0
будут ли работать мои скрипты php для работы с html-формой в модуле Joomla, или их придется допиливать для работы с XML?
Конечно, буду. PHP тут первичен. АПИ Joomla дает дополнительные удобства, если умеете ими пользоваться, но это не обязательно и можно не пользоваться вовсе. Пишите на чистом PHP, если нравится. С базой тоже можно работать без использования классов Joomla.
На связи в телеге @sivers
*

dmitry_stas

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

Как провильно организовать доступ к БД в Joomla 3.8?

Автор leha111

Ответов: 1
Просмотров: 51
Последний ответ 13.06.2019, 08:59:29
от SmiP
Не работает множество разделов в самой админке, включая материаллы, шаблоны

Автор Avariel1908

Ответов: 3
Просмотров: 67
Последний ответ 11.06.2019, 11:45:43
от xpank
Вопрос по модулям и расширениям сайта Joomla!

Автор Hazarin

Ответов: 6
Просмотров: 192
Последний ответ 10.06.2019, 10:06:11
от voland
Интеграция самописной формы в Joomla

Автор antarey

Ответов: 18
Просмотров: 279
Последний ответ 08.06.2019, 22:05:51
от antarey
Тест объединения более 7 разных БД в одну общую систему на Joomla

Автор Dmitriy M

Ответов: 6
Просмотров: 181
Последний ответ 05.06.2019, 01:15:28
от Fedor Vlasenko