Новости Joomla

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Ещё один генератор ИИ-файлов llms.txt и llms-full.txt.

Основные особенности/возможности компонента:

  • Генерация по стандарту: Автоматическое создание файла-визитки llms.txt и расширенной версии llms-full.txt с аннотированным списком материалов.
  • Интеллектуальная работа с контентом: Компонент использует мета-описания (Meta Description) из статей и пунктов меню, превращая SEO-настройки сайта в качественный контекст для нейросетей.
  • Просмотреть результат генерации файлов можно сразу в рабочей области компонента. После внесения корректив (через Настройки компонента. При отладке лучше открыть три вкладки в браузере: Настройка — Геренация/Превью — Список Материалов/Категории/Меню.) — проводим перегенерацию, смотрим результат до полной «победы».
  • Автоматизация и безопасность: Синхронизация с sitemap.xml, группировка по категориям и автоматическое создание резервных копий (.bak) при каждой генерации.
  • Гибкое управление: Возможность исключения определенных категорий и/или статей и/или пунктов меню, а также простая настройка через стандартную админпанель Joomla.
  • Подробное руководство/справка: Пошаговая инструкция для пользователя в Настройках компонента для редакторов с базовым знанием администрирования Joomla.

👉 Важно учесть.
1️⃣ Компонент Генератор LLMs.txt изначально составляет базовый список ссылок на основе sitemap.xml и сверяется с ним на предмет: запрета индексации url в robots.txt, тегов noinex/nofollow. Это экономит время на проверку «закрыть от индексации», поскольку компонент генерации Sitemap.xml уже реализовал эту задачу. Посему, формирование ссылок для ИИ имеет комплексный подход, составление грамотного/валидного/релевантного sitemap.xml никто не отменял.

2️⃣ Тексты-описания ссылок формируются из Meta Description com_content (только компонент Материалы) и выбранных пользователем Меню сайта. Важно, чтобы Meta Description были уникальными и релевантными, соответствовали базовому seo. Составленные «на отшибись» Description для ИИ — «не катит» (впрочем, для поисковых систем они тоже «не канали»).

Разработчик - участник нашего сообщества Александр Кузнецов (@newvksan).

Страница расширения

@joomlafeed

#joomla #ии #ai

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

Это Joomla-компонент для публикации AI-ready карты сайта и автоматической генерации файлов llms.txt, llms-full.txt и llms.json по концепции llmstxt.org.  Также о концепции llms.txt говорит Google в своей справке Lighthouse. Решение помогает LLM-моделям, AI-агентам, GEO/AI SEO-процессам и внутренним автоматизациям получать структурированные данные о сайте без ручной сборки JSON и Markdown.

С помощью WT LLMs можно:
- создать структурированное описание сайта для AI-агентов;
- управлять профилем сайта, картой интентов и каноническими страницами для этих интентов из админки Joomla;
- генерировать llms.txt и llms.json;
- использовать REST API для автоматического заполнения данных;
- отдавать публичную schema-инструкцию для AI-агентов;

В комплект компонента входит плагин markdown-версии страниц Joomla. Системный плагин Joomla, который добавляет альтернативное Markdown-представление страниц сайта. Он позволяет отдавать содержимое страницы в более чистом текстовом формате, удобном для AI-агентов, LLM, поисковых систем и технических интеграций.
Плагин добавляет в ссылки на AI-файлы.

Пакет подходит для сайтов на Joomla 5+, которым важно сделать контент понятнее для LLM, AI-поиска, ассистентов и будущих систем машинного чтения.

Видео:
- ВК Видео
- RuTube
- YouTube

Ссылки:
Страница расширения
GitHub

@joomlafeed

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

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
« Последнее редактирование: 10.06.2019, 13:06:27 от varX »
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

netmail

  • Новичок
  • 2
  • 0 / 0
Спасибо, оперативно! обнаружен еще один баг: после того как я пакетно меняю уровень доступа с Guest на Public и вношу изменения в форму, после сохранения доступ опять меняется на Guest
*

xfish3

  • Новичок
  • 1
  • 0 / 0
Добрый день!
Скажите пожалуйста, есть ли возможность вставки поля с датой и встроенным календарем?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Добрый день!
Скажите пожалуйста, есть ли возможность вставки поля с датой и встроенным календарем?

Пока нет такой возможности.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

b.carotin

  • Осваиваюсь на форуме
  • 18
  • 2 / 0
Добрый день!
Скажите пожалуйста, есть ли возможность вставки поля с датой и встроенным календарем?
Пока нет такой возможности.
Доброе время суток!
По методу striganov-com (Ответ #225) добавила новое поле Дата (используя плагин datepicker).
Поле отображается, в админке добавляется, со стороны фронтэнда все работает.

Одна проблема: не приходит на почту результат!

В файл components\com_quickform\helpers\class.php добавляю:

elseif(strpos($ar,'r_td">date<')!== false) $html.=$this->getDate($ar,$this->post,$c);


function getDate($pat,$post,$c)
   {
      static $i=0;
      
      preg_match('/([^"]+)(?=" class="inp_sel")/', $pat, $m);
      $html= $this->getTr($m[0],$post['qftext'][$i],'',$c);
      $i++;
      return $html;
   }

Приходит пустое поле. Где еще нужно допилить чтобы результат приходил в письме?! Хелп!
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Доброе время суток!
По методу striganov-com (Ответ #225) добавила новое поле Дата (используя плагин datepicker).
Поле отображается, в админке добавляется, со стороны фронтэнда все работает.

Одна проблема: не приходит на почту результат!

В файл components\com_quickform\helpers\class.php добавляю:

elseif(strpos($ar,'r_td">date<')!== false) $html.=$this->getDate($ar,$this->post,$c);


function getDate($pat,$post,$c)
   {
      static $i=0;
      
      preg_match('/([^"]+)(?=" class="inp_sel")/', $pat, $m);
      $html= $this->getTr($m[0],$post['qftext'][$i],'',$c);
      $i++;
      return $html;
   }

Приходит пустое поле. Где еще нужно допилить чтобы результат приходил в письме?! Хелп!

К сожалению, не знаком с методом striganov-com, поэтому не могу вам ничего подсказать по вашей проблеме. Судя по коду, который вы привели выше, в нем используется переменная $post['qftext'], которая уже зарезервирована для другого типа поля, соответственно не может быть использована где-то еще.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

b.carotin

  • Осваиваюсь на форуме
  • 18
  • 2 / 0
К сожалению, не знаком с методом striganov-com, поэтому не могу вам ничего подсказать по вашей проблеме. Судя по коду, который вы привели выше, в нем используется переменная $post['qftext'], которая уже зарезервирована для другого типа поля, соответственно не может быть использована где-то еще.

Вот здесь метод: http://joomlaforum.ru/index.php/topic,228015.msg1373683.html#msg1373683

Пишу также $html= $this->getTr($m[0],$post['qfdate'][$i],'',$c); - тоже результат не приходит.

Подскажите хотя бы куда копать? В этом ли файле?

Еще вопрос: в админку в статистику приходит все одной строкой без пробелов - как исправить, где?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Вот здесь метод: http://joomlaforum.ru/index.php/topic,228015.msg1373683.html#msg1373683

Пишу также $html= $this->getTr($m[0],$post['qfdate'][$i],'',$c); - тоже результат не приходит.

Подскажите хотя бы куда копать? В этом ли файле?

Еще вопрос: в админку в статистику приходит все одной строкой без пробелов - как исправить, где?


Я где-то в этой теме описывал порядок добавления нового типа поля в интерфейс компонента. Это не так сложно, но определенно, требует навыков в программировании. Расписывать подробные мануалы нет смысла. Если навыки есть, то мануалы не нужны. Если их нет, то мануалы не помогут.

В компоненте всего несколько небольших файлов, разобраться в них, много времени не понадобится. После этого, вопрос "куда копать" отпадет сам собой.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

b.carotin

  • Осваиваюсь на форуме
  • 18
  • 2 / 0
Ответ ни о чем. Быстрее было бы написать в каком конкретно файле прописывается отправка на e-mail, чтобы не ковыряться в чужом коде.

Что по второму вопросу? Все формы в админке имеют вид ИмяTestФамилияTestE-mail***
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Ответ ни о чем. Быстрее было бы написать в каком конкретно файле прописывается отправка на e-mail, чтобы не ковыряться в чужом коде.

Что по второму вопросу? Все формы в админке имеют вид ИмяTestФамилияTestE-mail***

Я вам дал максимально подробный ответ в данном случае.

По поводу того, что ваш сайт вырезает HTML форматирование при сохранении в историю, то эта проблема больше ни у кого не наблюдалась.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

b.carotin

  • Осваиваюсь на форуме
  • 18
  • 2 / 0
Результат форм выглядит одинаково на трех разных сайтах, расположенных на разных хостингах. Так что дело явно не в сайте. Если никто не писал об этой проблеме это не значит что ее нет.
Может Вы будете так любезны написать в каком фале прописан вывод результата для раздела Статистика?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Если вам это чем-то поможет, то administrator/components/com_quickform/views/statistic/tmpl/default.php
Но я бы искал причину не в компоненте.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

b.carotin

  • Осваиваюсь на форуме
  • 18
  • 2 / 0
Кому интересно нашла способ добавить выпадающий календарь к форме.

Идёте сюда: http://jqueryui.com/datepicker/#default.

Перед тегом </head> в index вашего шаблона добавляете:
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> - я скачала CSS и создала свои настройки оформления
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

<script>
$(function() {
$('div#Вашеназвание div.qftext input').attr('id', 'datepicker');
$('div#Вашеназвание div.qftext input').removeClass('inputbox');
$( "#datepicker" ).datepicker();
  });
</script>

На сайте ttp://jqueryui.com/datepicker/#default есть разные настройки для календаря (эффекты и т.д.)

В создаваемой форме делаете три поля: Два separator и между ними text
В первом separator:
<div id="Вашеназвание">
Далее поле текст:Дата (или любой Ваш заголовок поля)
separator: </div>

Всё. Календарик выпадает. Дата подставляется. Дата приходит на почту!


Еще вариант. Также перед </head>

Код
<link rel="stylesheet" type="text/css" href="Ваш шаблон/css/jquery.datetimepicker.css"/>
<script src="Ваш шаблон/js/jquery.js" type="text/javascript"></script>
<script src="Ваш шаблон/js/jquery.datetimepicker.js" type="text/javascript"></script>
<script>
$(function() {
$('div#date input').attr('id', 'datetimepicker');
$('div#time input').attr('id', 'datetimepicker2');
  });
</script>
<script>
  $(function() {
    $( "#datetimepicker" ).datetimepicker({
lang:'ru',
timepicker:false
});
    $( "#datetimepicker2" ).datetimepicker({
datepicker:false,
format:'H:i',
step:5
});
  });
  </script>

Варианты отображения здесь: http://xdsoft.net/jqplugins/datetimepicker/. Можно поставить дату и время, только дату, только время и т.д. Под каждое поле должен быть свой id и, каждое поле должно быть обернуто в свой div (или span, или p. То есть то, к чему привязать id)
« Последнее редактирование: 16.07.2014, 16:05:01 от b.carotin »
*

Mantoptera

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • Не вини мир. Найди решение.
У меня не срабатывает закрытие связанной формы если radio button не выбран. Как сделать чтобы закрывалось в отметке 2 на картинке, если пункт не выбран
Спойлер
[свернуть]
Спойлер
[свернуть]
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
У меня не срабатывает закрытие связанной формы если radio button не выбран. Как сделать чтобы закрывалось в отметке 2 на картинке, если пункт не выбран

Скорее всего, есть незакрытые теги, проверьте HTML в сепараторах.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Mantoptera

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • Не вини мир. Найди решение.
Цитировать
Скорее всего, есть незакрытые теги, проверьте HTML в сепараторах.

Сепараторы вообще не трогал. Не работало изначально после установки компонента на сайт.

Исходный код функции в файле form.php. Не работает только в радио. Менял только стили и расположение лабелов.

Спойлер
[свернуть]

Могу дать доступ к сайту (админке)
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Сепараторы вообще не трогал. Не работало изначально после установки компонента на сайт.

Исходный код функции в файле form.php. Не работает только в радио. Менял только стили и расположение лабелов.

Могу дать доступ к сайту (админке)

С этого и нужно было начинать. Если что-то меняли в коде, не стоит удивляться, что что-то перестало работать. Попробуйте вернуть обратно.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Mantoptera

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • Не вини мир. Найди решение.
Цитировать
С этого и нужно было начинать. Если что-то меняли в коде, не стоит удивляться, что что-то перестало работать. Попробуйте вернуть обратно.

Еще раз: эта функция не работала изначально после установки компонента на сайт.
Подробнее:
1. Установил компонент и плагин.
2. Создал и вывел форму с радиобуттонами.
Результат - радиобуттоны не закрываются.

Потом стал менять внешний вид.

Возвращать некуда если изначально не работало.
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Еще раз: эта функция не работала изначально после установки компонента на сайт.
Подробнее:
1. Установил компонент и плагин.
2. Создал и вывел форму с радиобуттонами.
Результат - радиобуттоны не закрываются.

Потом стал менять внешний вид.

Возвращать некуда если изначально не работало.

Вы не внешний вид поменяли, а изменили программный код в функции компонента. Если нужно изменить внешний вид, делайте это в CSS.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Mantoptera

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • Не вини мир. Найди решение.
Создал тестовый сайт http://kompyter.ru. Установил компонент на голую Joomla. Как средствами CSS сделать радиобутоны не в ряд а столбиком?

В форме подписи элементов не в лабелах. Как сделать их так, чтобы при клике на текст радио-буттона отмечался элемент.

Насколько я знаю, это средствами CSS не делается
« Последнее редактирование: 26.06.2014, 17:14:04 от Mantoptera »
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Создал тестовый сайт http://kompyter.ru. Установил компонент на голую Joomla. Как средствами CSS сделать радиобутоны не в ряд а столбиком?


Ок, покажу пример, где есть вертикальные радио кнопки. (Ссылку дам на час, т.к. без разрешения владельца)
удалено
Смотрите стили, повторяйте.
« Последнее редактирование: 28.05.2024, 06:15:25 от varX »
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Mantoptera

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • Не вини мир. Найди решение.
Спасибо, повторил. А что с лабелами делать?

Цитировать
В форме подписи элементов не в лабелах. Как сделать их так, чтобы при клике на текст радио-буттона отмечался элемент.

Насколько понимаю, незакрываемые радиобуттоны произошли из-за этого

По правильному должно быть так:

Код
<label><input ...>первый</label><br />
<label><input ...>второй</label>

На данный момент:

Код
<label>Здесь радиобуттоны</label>
<input ...>первый<br />
<input ...>второй

« Последнее редактирование: 26.06.2014, 17:36:24 от Mantoptera »
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Спасибо, повторил. А что с лабелами делать?

Насколько понимаю, незакрываемые радиобуттоны произошли из-за этого

По правильному должно быть так:

Код
<label><input ...>первый</label><br />
<label><input ...>второй</label>


Кто вам сказал, что это по правильному? Если нужна реакция на клик по label, используйте атрибут for. Кроме того, можно выложить тут CSS, раз вы его повторили. Для других пользователей.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Mantoptera

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • Не вини мир. Найди решение.
Атрибут for здесь не пройдет, потому как лабел 1 а инпутов несколько

CSS что поменял/добавил:

Код
.qfblock div input {
display: block;
float: none;
margin: 0;
}
.qfradio input {
border: medium none currentColor;
display: block;
height: auto;
left: -20px;
margin: 0px !important;
position: relative;
top: -10px;
}
.qfradio {
line-height: 8px;
margin-left: 40px;
margin-top: 12px;
padding-left: 40%;
}
.qfradio > label {
display:block;
}
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Атрибут for здесь не пройдет, потому как лабел 1 а инпутов несколько

Значит не нужно по заголовкам кликать в этой форме. Кнопки для чего?
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Mantoptera

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • Не вини мир. Найди решение.
По тексту приятнее кликать.
*

Mantoptera

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • Не вини мир. Найди решение.
И все таки логика построения блока radio несколько нелогична.

Согласно кода в файле /administrator/components/com_quickform/helpers/form.php в строке 124 код

Код
$row.='<div class="qfradio"><label>'.$m[0].'</label>';

выводит заголовок поля в тегах <label>. Это логично работает, если radio используется без калькулирования значений полей.

Но если включается калькулятор, то <label> выводится как бы не для radio-button, а для блока инпутов типа radio, каждый из которых не имеет собственного <label>.

Более логичная конструкция функции buildRadio на мой взгляд выгля дела бы так:

Код
function buildRadio($pat,$row='') {
static $a=1;
static $radid=1;
$i=0;
preg_match('/([^"]+)(?=" class="inp_sel")/', $pat, $m);
$row.='<div class="qfradio">';
$opts=explode('</div><div>',$pat);
$name='r'.$this->id.'_'.$a;$n=0;$a++;
foreach($opts as $opt) {
$value='';
// if($this->rowOld->calc) {
$vals=explode('input',$opt);
foreach($vals as $val){
if(strpos($val,'opt_modifer'))$value.=$val{strpos($val,'value="')+7};
}

preg_match('/([^"]+)(?=" class="opt_price)/', $opt, $o);
$value.=trim($o?$o[0]:'');
// }

$cl = '';
if(strpos($opt,'inp_svz')){
preg_match('/([^"]+)(?=" class="inp_svz)/', $opt, $o);
$cl =' class="qfsvz_'.trim($o?$o[0]:'').'"';
}

preg_match('/([^"]+)(?=" class="inp_opt")/', $opt, $m);
$row.='<label for="r'.$this->id.'_'.$radid.'">'.$m[0].'</label><input id="r'.$this->id.'_'.$radid.'" type="radio" name="'.$name.'" value="'.$i.'_'.$value.'" '.(!$n?'checked="checked"':'').$cl.'>';
$n++;
$i++;
$radid++;
}
$row.='</div>';
return $row;
}

В данном случае у каждого radio во-первых есть <label>, во вторых у каждого radio есть id
« Последнее редактирование: 27.06.2014, 14:14:27 от Mantoptera »
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Обновление QuickForm. Исправлена ошибка, которая приводила к неправильной работе radio-button в зависимых формах и при клонировании.

Заголовки текстовых полей и textarea теперь можно вставлять внутрь полей, для этого нужно облачить элемент (группу) сепараторами с тегом с классом "qfinlabel".

Аналогично можно выстроить радиокнопки вертикально в ряд, для этого нужно облачить элемент (группу) сепараторами с тегом с классом "vertical".
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Olg

  • Завсегдатай
  • 1184
  • 91 / 2
1) Возвращаюсь к вопросу полуторамесячной давности, ибо моих познаний не хватает и эксперименты не дали положительного результата: как бы загнать список всех стран в поле SELECT?
2) Не нашёл в компоненте (может быть совсем не там смотрел) экспорт--импорт готовых форм (нужен, например, для тестирования на локальном компе с последующим переносом в сеть). Предполагается ли добавление такого функционала?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
1) Возвращаюсь к вопросу полуторамесячной давности, ибо моих познаний не хватает и эксперименты не дали положительного результата: как бы загнать список всех стран в поле SELECT?
2) Не нашёл в компоненте (может быть совсем не там смотрел) экспорт--импорт готовых форм (нужен, например, для тестирования на локальном компе с последующим переносом в сеть). Предполагается ли добавление такого функционала?

1. Нужно создать свой собственный тип поля. Это не сложно, можно по аналогии. В каких файлах вносить изменения, я где-то тут писал. Вопрос в другом, разве не проще, внести страны в обычный селект? Кроме того, списки стран у нас меняются.

2. Не вижу большой надобности в этом. В конце концов, есть специализированные компоненты для работы с базой данных, наверное, там есть такие возможности. Только индексы вложенных форм, в ручную, все равно писать понадобится.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

mario052

  • Захожу иногда
  • 211
  • 1 / 0
Здравствуйте всем!
Кто мне подскажет, как сделать калькулятор, что бы клиент вводил суму товара в китайских юанях, количество товара,  а  конечную сумму выводило в рублях ! !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

QuickForm 3 - конструктор простых и сложных форм

Автор varX

Ответов: 1108
Просмотров: 153692
Последний ответ 27.02.2026, 08:53:50
от wocha
Radical Form - бесплатная ajax форма обратной связи, которая не ломает дизайн

Автор Progreccor

Ответов: 311
Просмотров: 89389
Последний ответ 22.01.2026, 02:23:57
от quip
QuickForm 2 - конструктор форм с зависимыми полями и калькулятором

Автор varX

Ответов: 1351
Просмотров: 170425
Последний ответ 03.10.2022, 22:34:40
от dodsik
AJAX Web-Factor Form - простая форма обратной связи для Joomla 3+

Автор orsy

Ответов: 75
Просмотров: 33908
Последний ответ 17.07.2021, 10:01:40
от Biss
Форма обратной связи для Joomla 2.5

Автор ForQue

Ответов: 0
Просмотров: 5287
Последний ответ 10.01.2021, 10:57:08
от ForQue