Новости Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#joomla #расширения

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

dabrowski

  • Осваиваюсь на форуме
  • 41
  • 2 / 0
Добрый день, руководство поставило задачу разместить на сайте в отдельной вкладке калькулятор "Определение фокусного расстояния объектива по полю зрения". Понимаю, что решается эта задача с помощью скрипта и разметки, но не совсем понимаю как это реализовать. Будет ли работать этот калькулятор если его разместить в новом материале? http://www.security-bridge.com/shkola_bezopasnosti/raschety_online/opredelenie_fokusnogo_rasstoyaniya_obektiva_po_polyu_zreniya/- это наглядный пример такого калькулятора. Помогите разобраться как его реализовать в Joomla. Заранее спасибо.
*

Session152

  • Захожу иногда
  • 50
  • 3 / 0
Re: Реализация "калькулятора" на сайте
« Ответ #1 : 27.02.2014, 10:22:03 »
да, можно .. javascript + разметка html+css
вот исходни одного из калькуляторов, можно в принципе доработать до Вашей.

Код
<script type="text/javascript">// <![CDATA[
function calc()
{
a0 = parseInt(document.getElementById('cn1').value);
a1 = kopaem();
a6 = parseInt(document.getElementById('cn6').value);
total = a1 + a6;
document.getElementById('totalprice').innerHTML = total + ' руб.';

}



function kopaem()
{
if (a0 == 0) { return parseInt(0); }
if (a0 == 1) { return parseInt(4500); }
if (a0 == 2) { return parseInt(9000); }
if (a0 == 3) { return parseInt(13500); }
if (a0 == 4) { return parseInt(18000); }
if (a0 == 5) { return parseInt(22500); }
if (a0 == 6) { return parseInt(27000); }
if (a0 == 7) { return parseInt(31500); }
if (a0 == 8) { return parseInt(36000); }
if (a0 == 9) { return parseInt(40500); }
if (a0 == 10) { return parseInt(45000); }
if (a0 == 11) { return parseInt(50000); }
if (a0 == 12) { return parseInt(55000); }
if (a0 == 13) { return parseInt(60000); }
if (a0 == 14) { return parseInt(65000); }
if (a0 == 15) { return parseInt(70000); }
if (a0 == 16) { return parseInt(75500); }
if (a0 == 17) { return parseInt(81000); }
if (a0 == 18) { return parseInt(86500); }
if (a0 == 19) { return parseInt(92000); }
if (a0 == 20) { return parseInt(97500); }
if (a0 == 21) { return parseInt(103500); }
if (a0 == 22) { return parseInt(109500); }
if (a0 == 23) { return parseInt(114000); }
if (a0 == 24) { return parseInt(119500); }
if (a0 == 25) { return parseInt(125000); }
else { return false; }
}
// ]]></script>
</p>
<table style="width: 100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top">
<p><label style="font-size: 12px;" for="name" accesskey="n">Домик для колодца </label><br /><select id="cn6" name="D1" size="1" onchange="calc()">
<option value="0">Без домика</option>
<option value="7500">С домиком на колодец</option>
</select></p>
<p style="margin-top: 10px;"><label style="font-size: 12px;" for="kol" accesskey="e">Глубина колодца</label><br /><select id="cn1" name="D2" size="1" onchange="calc()">
<option value="0">Количество колец</option>
<option value="1">1 кольцо (0.9м.)</option>
<option value="2">2 кольца ( 1.8м.)</option>
<option value="3">3 кольца ( 1.7м.)</option>
<option value="4">4 кольца ( 3.6 м.)</option>
<option value="5">5 колец ( 4.5м.)</option>
<option value="6">6 колец ( 5.4м.)</option>
<option value="7">7 колец ( 6.3м.)</option>
<option value="8">8 колец ( 7.2м.)</option>
<option value="9">9 колец ( 8.1м.)</option>
<option value="10">10 колец ( 9.0м.)</option>
<option value="11">11 колец ( 9.9м.)</option>
<option value="12">12 колец ( 10.8м.)</option>
<option value="13">13 колец ( 11.7м.)</option>
<option value="14">14 колец ( 12.6м.)</option>
<option value="15">15 колец ( 13.5м.)</option>
<option value="16">16 колец ( 14.4м.)</option>
<option value="17">17 колец ( 15.3м.)</option>
<option value="18">18 колец ( 16.2м.)</option>
<option value="19">19 колец ( 17.1м.)</option>
<option value="20">20 колец ( 18.0м.)</option>
<option value="21">21 кольцо ( 18.9м.)</option>
<option value="22">22 кольца ( 19.8м.)</option>
<option value="23">23 кольца ( 20.7м.)</option>
<option value="24">24 кольца ( 21.6м.)</option>
<option value="25">25 колец ( 22.5м.)</option>
</select></p>
</td>
</tr>
<tr>
<td valign="top">
<p class="summ"><span style="font-size: 12px;">Примерная стоимость в рублях колодца "под ключ":</span></p>
<p class="summ2"><br /><span id="totalprice">0</span></p>
</td>
</tr>
</tbody>
</table></div>

Вставляете код на страничку (редактор поставить codeminor желательно). И видите простой калькуль.
Остаётся добавить пару полей ввода, добавить им условия и всё.
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: Реализация "калькулятора" на сайте
« Ответ #2 : 27.02.2014, 10:22:20 »
в *** легко уложимся
совет выше - в материале через редактор - моментально отрежет все скрипты))
надо или через шаблон править или через модуль вставлять, модуль кода php
« Последнее редактирование: 27.02.2014, 10:26:07 от verstalshik »
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

Session152

  • Захожу иногда
  • 50
  • 3 / 0
Re: Реализация "калькулятора" на сайте
« Ответ #3 : 27.02.2014, 10:28:46 »
в *** легко уложимся
совет выше - в материале через редактор - моментально отрежет все скрипты))
надо или через шаблон править или через модуль вставлять, модуль кода php
1. В настройках редактора можно отключить вырезание.
2. если используется codemirror - он скрипты не режет
*

dabrowski

  • Осваиваюсь на форуме
  • 41
  • 2 / 0
Re: Реализация "калькулятора" на сайте
« Ответ #4 : 27.02.2014, 10:37:28 »
Спасибо большое) Буду делать)))))
*

dabrowski

  • Осваиваюсь на форуме
  • 41
  • 2 / 0
Re: Реализация "калькулятора" на сайте
« Ответ #5 : 27.02.2014, 11:07:19 »
Вот переделал, но накосячил походу сильно... в обычном браузере открывается но вычисления не осуществляются... подскажите что исправить нужно
<html>
<meta charset="utf-8" />
<script type="text/javascript">// <![CDATA[
function calc()
{
if (form.gorver.value = 'По горизонтали')
{
form.matrobj.options[1].value = "6,4";
form.matrobj.options[2].value = "4,8";
}
if (form.gorver.value = 'По вертикали')
{
form.matrobj.options[1].value = "4,8";
form.matrobj.options[2].value = "3,6";
}
r = 0;
m=eval(form.matrobj.value);
l=eval(form.rast.value);
w=eval(form.polez.value);
r = m*l/w;
form.result.value = r;
}
//-->
</script>
<table class="calc" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td>
<table width="550" cellspacing="0" cellpadding="0" border="0" align="center">
<tbody>
<tr>
<td width="200" style="padding-right: 10px;">Формат видеокамеры, дюйм:</td>
<td width="120" style="padding-left: 10px;">
<select name="VideoCamera" style="width: 100px;">
<option value="1" selected="selected">1</option>
<option value="2">2/3</option>
<option value="3">1/2</option>
<option value="4">1/3</option>
<option value="5">1/4</option>
</select>
</td>
</tr>
<tr>
<td style="padding-right: 10px;">Формат объектива, дюйм:</td>
<td style="padding-left: 10px;">
<select name="Objective" style="width: 100px;">
<option value="1" selected="selected">1</option>
<option value="2">2/3</option>
<option value="3">1/2</option>
<option value="4">1/3</option>
<option value="5">1/4</option>
</select>
</td>
</tr>
<tr>
<td style="padding-right: 10px;">Расстояние до объекта, м:</td>
<td style="padding-left: 10px;">
<input name="Distance">
</td>
</tr>
<tr>
<td style="padding-right: 10px;">Поле зрения равно, м:</td>
<td align="left" style="padding-left: 10px;">
<input name="FieldSight">
</td>
<td>
<select name="ViewType">
<option value="1" selected="selected">по горизонтали</option>
<option value="2">по вертикали</option>
</select>
</td>
</tr>
<tr>
<td colspan="3">
<em>Примечание. На видеокамеру  можно установить объектив, который будет иметь одинаковый или больший формат, относительно видеокамеры </em>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input class="ok" type="button" style="width: 38px;" onclick="submit_ajax();" value="Ok">
</td>
</tr>
</tbody>
</table>
<br>
Результат:                                   
<input type="text" name="result" size="3">
<br>
</form>
</html>
*

dabrowski

  • Осваиваюсь на форуме
  • 41
  • 2 / 0
Re: Реализация "калькулятора" на сайте
« Ответ #6 : 27.02.2014, 13:34:08 »
понять не могу в чем беда
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: Реализация "калькулятора" на сайте
« Ответ #7 : 27.02.2014, 14:49:27 »
после </script>
это надо вставить<form id="ajax_form" enctype="application/x-www-form-urlencoded" method="post"><input name="calc" value="focus_pole" type="hidden" />
это если один в один как у тех, где решили своровать скрипт))))

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

да и еще - тег боди отсутствует, странно..., а форма выводится? )))) тогда уж и теги HTML уберите чтоли
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

dabrowski

  • Осваиваюсь на форуме
  • 41
  • 2 / 0
Re: Реализация "калькулятора" на сайте
« Ответ #8 : 27.02.2014, 15:05:33 »
Спасибо я понял))))
*

snipe2009

  • Осваиваюсь на форуме
  • 49
  • 3 / 0
  • То, что тебя не убивает, делает тебя сильнее...
Re: Реализация "калькулятора" на сайте
« Ответ #9 : 30.03.2014, 18:01:38 »
У меня почему то тоже не работает калькулятор на сайте, не могу понять в чем проблема? Может кто нить подскажет.
Заранее спасибо.
*

snipe2009

  • Осваиваюсь на форуме
  • 49
  • 3 / 0
  • То, что тебя не убивает, делает тебя сильнее...
Re: Реализация "калькулятора" на сайте
« Ответ #10 : 30.03.2014, 18:47:20 »
У меня почему то тоже не работает калькулятор на сайте, не могу понять в чем проблема? Может кто нить подскажет.
Заранее спасибо.
Решил вопрос!
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: Реализация "калькулятора" на сайте
« Ответ #11 : 18.06.2014, 16:45:57 »
Решил вопрос!
ну так делись!!))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль калькулятора для расчета стекла

Автор LyalyaChornaya

Ответов: 9
Просмотров: 2440
Последний ответ 07.05.2014, 17:16:38
от LyalyaChornaya
Как проверить авторизацию админа на сайте через файл модели?

Автор Информатор

Ответов: 11
Просмотров: 4028
Последний ответ 30.09.2011, 15:54:01
от smart