Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

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

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Подскажите пожалуйста...
Ситуация такая...
в модуле есть фора состоящая из одного поля login_user и кнопка, по нажатию которой происходит повторное подключение к БД и добавляется запись в определенную таблицу, данные берутся в текстового поля в форме...

проблема в том что при каждом обновлении страницы этот код выполняется...

вот код формы...
Спойлер
[свернуть]

а вот код который должен выпоняться после нажатия кнопки
Спойлер
[свернуть]

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

...
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Действие для кнопки в модуле
« Ответ #1 : 06.06.2014, 10:12:37 »
Ну так добавьте условие, что отправилось поле login_user - if (!empty($_POST['login_user']))
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Re: Действие для кнопки в модуле
« Ответ #2 : 06.06.2014, 11:12:44 »
Ну так добавьте условие, что отправилось поле login_user - if (!empty($_POST['login_user']))
подскажите пожалуйста, как должно быть потому что этот вариант уже пробовал все равно не то что надо, но может быть я не туда вставляю этот код...
...
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Действие для кнопки в модуле
« Ответ #3 : 06.06.2014, 11:49:42 »
Код: php
if (!empty($_POST['login_user']))
{
// Соединиться с сервером БД
mysql_connect($params->get('host'), $params->get('user'), $params->get('password')) or die (mysql_error ());

// Выбрать БД
mysql_select_db($params->get('database')) or die(mysql_error());

// SQL-запрос
$strSQL = "INSERT INTO `".$params->get('prefix'). $params->get('db')."` (`id` ,`name` ,`date` ,`mod_users`)VALUES ('',  '".$_POST[login_user]."',  '".date("Y-m-d H:i:s")
."',  '123');";

// Выполнить запрос (набор данных $rs содержит результат)
$rs = mysql_query($strSQL);

// Закрыть соединение с БД
mysql_close();
}

Кстати, а почему Вы не используете Joomla API для работы с базой данных?
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Re: Действие для кнопки в модуле
« Ответ #4 : 06.06.2014, 12:09:02 »
Все отлично, Спасибо, но вот в чем маленькая проблема, оно добавляет вопросов нет но запись появляется когда обновляешь страницу вручную...
Можно как нибудь это исправить...

Кстати, а почему Вы не используете Joomla API для работы с базой данных?

вы имеете ввиду подключаться к БД используя данные из файла configuration.php

Если Да, то я пробовал но чета не получилось.. ошибка сразу в начале чтения файла 2 или 3 строка  в файле...
...
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Действие для кнопки в модуле
« Ответ #5 : 06.06.2014, 12:11:31 »
http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika должно помочь с использованием api
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Действие для кнопки в модуле
« Ответ #6 : 06.06.2014, 12:26:21 »
Все отлично, Спасибо, но вот в чем маленькая проблема, оно добавляет вопросов нет но запись появляется когда обновляешь страницу вручную...
Можно как нибудь это исправить...
Для этого нужно перенаправлять пользователя на ту же страницу после успешного выполнения действия:
http://en.wikipedia.org/wiki/Post/Redirect/Get

Как-то так наверное:
Код: php
JFactory::getApplication()->redirect(JUri::current);


вы имеете ввиду подключаться к БД используя данные из файла configuration.php

Если Да, то я пробовал но чета не получилось.. ошибка сразу в начале чтения файла 2 или 3 строка  в файле...
нет, я имею ввиду это
http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika/rabota-s-bazoj-dannykh
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Баг. В модуле выводится значение параметра из другого модуля

Автор fbr

Ответов: 10
Просмотров: 1039
Последний ответ 18.04.2021, 21:34:10
от fbr
Слетает событие с кнопки

Автор AlexB

Ответов: 2
Просмотров: 617
Последний ответ 18.12.2020, 12:06:37
от AlexB
Как правильно применить required для кнопки input type radio? [решено]

Автор dm-krv

Ответов: 0
Просмотров: 775
Последний ответ 10.04.2019, 12:50:27
от dm-krv
Кнопки панели инструментов в 2 строки

Автор denism300

Ответов: 12
Просмотров: 1157
Последний ответ 05.11.2016, 17:03:39
от denism300
Получение результата работы AJAX в модуле

Автор AlekVolsk

Ответов: 9
Просмотров: 2376
Последний ответ 17.11.2014, 00:03:50
от AlekVolsk