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

DyadyaGenya

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

sivers

  • Давно я тут
  • 845
  • 97 / 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

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

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

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

sivers

  • Давно я тут
  • 845
  • 97 / 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

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

DyadyaGenya

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

sivers

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

dmitry_stas

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

Как ускорить ответ сервера, чтобы Joomla летала?

Автор polezniy

Ответов: 109
Просмотров: 1841
Последний ответ Сегодня в 16:41:52
от polezniy
Joomla 4 Когда?

Автор Delfinov

Ответов: 1
Просмотров: 75
Последний ответ 17.11.2019, 22:48:54
от wishlight
Расширение для Joomla вставка внутри текста &quot;По теме&quot;

Автор phvsfpgs

Ответов: 5
Просмотров: 189
Последний ответ 13.11.2019, 12:11:11
от beliyadm
Rel="nofollow" для пунктов меню Joomla 3.6.2

Автор iAdventurer

Ответов: 7
Просмотров: 977
Последний ответ 01.11.2019, 18:24:41
от Kosstya
Не работает стандартный поиск на мобильных устройствах

Автор V@lentin

Ответов: 10
Просмотров: 343
Последний ответ 28.10.2019, 22:27:57
от V@lentin