Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
AJAX и Joomla
« : 20.11.2011, 21:26:28 »
Наверно тема избитая...

но вот возникли такие вопросы...

Ведь когда через AJAX запрос обращаемся к файлу (например модуль и обращаемся к mod_exemple.php)
 и в нем используются классы Joomla к примеру

$doc = & JFactory::getDocument(); 

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

и нечего не работает...

нашел много примеров в нете про то что обращаемся и там $doc = & JFactory::getDocument();  нормально работает...
как такое возможно ?

по идее нужно подключать все классы Joomla для этого ?
покажите точно работающий пример.
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: AJAX и Joomla
« Ответ #1 : 20.11.2011, 22:13:24 »
Код: html4strict
<div id="article"></div>
<a href="#" id="clck">Нажать</a>
<?php
JHTML::_('behavior.mootools');
?>
<script type="text/javascript">
window.addEvent('domready', function(){
$('clck').addEvent('click', function(event){
    event.stop;
$('article').appendText('Loading content...');   
$('article').load('<?php echo JRoute::_('index.php?option=com_content&view=article&id=19&tmpl=component'); ?>');
});
});
</script>
Сунь в шаблон на видное место. Запрашивает статью с id 19. Если есть выведет.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #2 : 20.11.2011, 22:21:44 »
ага, через индекс.пхп давать запрос, а для модуля будет работать ?
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: AJAX и Joomla
« Ответ #3 : 20.11.2011, 22:22:38 »
А попробовать не судьба.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #4 : 20.11.2011, 23:04:20 »
а как же направить запрос, если для компонента index.php?option=com_content& достаточно, то для модуля ?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: AJAX и Joomla
« Ответ #5 : 20.11.2011, 23:07:36 »
а как же направить запрос, если для компонента index.php?option=com_content& достаточно, то для модуля ?
я для таких целей имею специально свой компонент, к примеру com_pbajax, в котором без всякого MVC один файл фронта по нужному таску отрабатывает подобные запросы из модуля, плагина или иное
Код: php
$('article').load('<?php echo JRoute::_('index.php?option=com_pbajax&view=mytask&id=19&tmpl=component'); ?>');

Ну а там уже используем все родные классы движка
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #6 : 20.11.2011, 23:43:43 »
а можно поподробнее ?
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: AJAX и Joomla
« Ответ #7 : 20.11.2011, 23:51:34 »
Вот прочитал тему и врубиться не могу. Это что же такое должен делать модуль если его AJAX-ом подгружать надо.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: AJAX и Joomla
« Ответ #8 : 20.11.2011, 23:54:20 »
А что подробнее, написал заранее болванку компонента в котором ничего нет вообще (пример)
Потом по необходимости в нем добавляю кейсы в соответствии с тем функционалом, что мне по AJAX надо получить из любого места
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #9 : 20.11.2011, 23:59:02 »
Ну допустим модуль должен отправлять на мыло песьмо(обратный звонок) хочу сделать без перезагрузки страницы...

но суть вобще в том как реализовать модуль с аяксом под Joomla... оказуется это большая проблема...

поповду через компонент... да это походу вариант, но неужели все так сложно ?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: AJAX и Joomla
« Ответ #10 : 21.11.2011, 00:06:56 »
поповду через компонент... да это походу вариант, но неужели все так сложно ?
Наоборот просто, вместо отдельного файла обработчика, который не задействует все возможности движка без подключения в него миллиона файлов и соответственно усложнения - мы эту обработку пихаем в кейс нашего пустого компонента.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #11 : 21.11.2011, 00:09:16 »
в начале файла к которому обращаетесь через AJAX добавьте
Код
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define('JPATH_BASE', dirname(__FILE__));

require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
require_once(JPATH_BASE.DS.'libraries'.DS.'joomla'.DS.'factory.php');

$mainframe =& JFactory::getApplication('site');
после этого все классы Joomla можно использовать без особых проблем
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #12 : 21.11.2011, 00:15:54 »
_JEXEC - Откуда PHP знает что это такое ?
define('DS', DIRECTORY_SEPARATOR) - DIRECTORY_SEPARATOR откуда PHP знает что это такое ?
JPATH_BASE - тоже самое ?

это все берется с класов и констант Joomla, но ведь мы же обращаеся к файлу напрямую в обход Joomla... откуда же
это все позмется ?
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #13 : 21.11.2011, 00:21:09 »
во блииин, сначала почитайте что такое define и DIRECTORY_SEPARATOR, а потом что-то пишите
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #14 : 21.11.2011, 00:27:34 »
ну ладно, с DIRECTORY_SEPARATOR никада не работал... но это не рашает вопроса
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #15 : 21.11.2011, 00:30:44 »
что не решает? а про define прочитали? тот код что я привел в пример пихаете в любой файл, обращаетесь к нему через AJAX и все, дальше что угодно можно сделать
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #16 : 21.11.2011, 00:33:13 »
главного я не сказал, потому может и не понятно, тот код подключает движок Joomla со всеми классами и константами
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: AJAX и Joomla
« Ответ #17 : 21.11.2011, 00:34:34 »
А потом плакать, что через эту дырку сайт взломали. beliyadm дал тебе наводку. Дальше сам думай.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #18 : 21.11.2011, 00:40:37 »
какую дырку, о чем разговор? пример можно как можно взломать? много расширений такое используют
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #19 : 21.11.2011, 00:44:42 »
последний вопрос, это актуально под 1.5 или можно еще и под 1.7 ?
потому как под 1.7 вы лог пишет ошибку типа
PHP Fatal error:  Class 'JPath' not found in /home/aqq9116/public_html/joom/libraries/joomla/html/html.php on line 796
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: AJAX и Joomla
« Ответ #20 : 21.11.2011, 00:48:18 »
какую дырку, о чем разговор? пример можно как можно взломать? много расширений такое используют
Прямое обращение к файлу извне. Если он будет писать в базу sql-иньекция, если посылать почту, рассылка спама. Подменил POST или GET и отдал файлу напрямую.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #21 : 21.11.2011, 01:03:39 »
Цитировать
последний вопрос, это актуально под 1.5 или можно еще и под 1.7 ?
под 1.5, с 1.7 особо не знаком, но принцип думаю тот же
Цитировать
Прямое обращение к файлу извне. Если он будет писать в базу sql-иньекция, если посылать почту, рассылка спама. Подменил POST или GET и отдал файлу напрямую.
этот код почти копия с index.php Joomla, т.е. по вашим рассуждениям я могу обратится к index.php и взломать сайт), это не возможно, в коде что я привел нет ничего опасного
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #22 : 21.11.2011, 01:10:25 »
Код
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define('JPATH_BASE', dirname(__FILE__));

require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
require_once(JPATH_BASE.DS.'libraries'.DS.'joomla'.DS.'factory.php');

под 1.5 все отлично, если под 1.7 Joomla, то ругается что некоторые библиотеки не подключены,
подскажите подобное решение под 1.7
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #23 : 21.11.2011, 01:12:35 »
+ где-то на этой строчке
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
все sql-иньекции, POST и GET проверяются и переопределяются, так что все безопасно)
Цитировать
под 1.5 все отлично, если под 1.7 Joomla, то ругается что некоторые библиотеки не подключены,
подскажите подобное решение под 1.7
не знаю, может кто опытнее подскажет
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #24 : 21.11.2011, 01:26:05 »
Цитировать
beliyadm дал тебе наводку. Дальше сам думай.
не надо дезинформировать пользователей, с beliyadm в какой-то теме об этом говорили, тема примерно следующая "как обработать запрос посланный из модуля", он там также предлагал компонент, по моему мнению это не практично, не нужно везде пихать компонент, есть более (повторюсь) по моему мнению правильные способы
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: AJAX и Joomla
« Ответ #25 : 21.11.2011, 01:33:34 »
не надо дезинформировать пользователей, с beliyadm в какой-то теме об этом говорили, тема примерно следующая "как обработать запрос посланный из модуля", он там также предлагал компонент, по моему мнению это не практично, не нужно везде пихать компонент, есть более (повторюсь) по моему мнению правильные способы
Помню, было, на мой взгляд это самый оптимальный вариант.
У меня на одном из сайтов с 7 разных мест идут различные AJAX запросы (из модулей, плагинов), я их все обрабатываю в одном компоненте. Соответственно мне намного проще найти ошибку в одном файле, нежели в 7 разных файлах, в одном из которых я вдруг забыл что подключить.

В общем есть два решения, пусть пользователь выбирает удобный ему, правильно?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #26 : 21.11.2011, 01:36:48 »
правельно, только пока под 1.7 работает вариант с компонентом...  не очень то удобно выходит... хотелось бы обойтись одним модулем
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: AJAX и Joomla
« Ответ #27 : 21.11.2011, 01:55:03 »
Цитировать
с 7 разных мест
так правильно и практичнее (в конкретном случае), но там не про AJAX шла речь, речь шла об обработке любого запроса модулем, вы говорили что лучше подключить компонент и там обрабатывать, я говорил что модуль сам может обрабатывать свои запросы без компонента, что "физически" легче, но это ваше мнение, и оно имеет право быть, пользователи которые читают форум сочтут мнение высказанное beliyadm правильнее ежели мое, потому потом 100500 разработчиков прочитавшие пост начнут неправильно понимать как писАть расширения, мое мнение может также ошибочное но в дискуссии  всплывает правильный вариант
*

SmokerMan

  • Гуру
  • 5291
  • 720 / 26
Re: AJAX и Joomla
« Ответ #28 : 21.11.2011, 13:56:21 »
ХЗ, по моему тоже без разницы как делать, через файл или через компонент. Кому как удобней.
правельно, только пока под 1.7 работает вариант с компонентом...  не очень то удобно выходит... хотелось бы обойтись одним модулем
Потому что в 1.7 появилась платформа, поменялись константы и еще куча всяких изменений.
http://docs.joomla.org/How_to_create_a_stand-alone_application_using_the_Joomla!_Platform
*

skyer

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: AJAX и Joomla
« Ответ #29 : 21.11.2011, 14:49:40 »
для 1.7 подошло решение следующее

Код
define('_JEXEC', 1);
define('JPATH_BASE', preg_replace('|\Smodules\Smod_.*?\Smod_callback.php|i', '', __FILE__));
define('DS', DIRECTORY_SEPARATOR);
//где mod_callback.php ваша точка входа в модуле

require_once JPATH_BASE.'/includes/defines.php';
require_once JPATH_BASE.'/includes/framework.php';

// Instantiate the application.
$app = JFactory::getApplication('site');
// Initialise the application.
$app->initialise();

// Include the syndicate functions only once
require_once dirname(__FILE__).'/helper.php';
$doc = & JFactory::getDocument(); 

require JModuleHelper::getLayoutPath('mod_callback', $params->get('layout', 'default'));

все замечательно, единственное ругается на $params->get('layout', 'default') - мол такого метода не знаю... если
коментируешь эту строку, то все отлично работает, подскажите какую библиотеку подключить что бы $params->get начал
пониматься ?

то SmokerMan
можно поподробней про платформы, где и зачем их использовать и с чем их едят ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Документация по созданию модуля для Joomla 2.5 и Joomla 3.x

Автор b2z

Ответов: 1
Просмотров: 2186
Последний ответ 29.07.2015, 09:40:30
от b2z
JPluginHelper::importPlugin('content') в Joomla 1.7

Автор Dutch

Ответов: 2
Просмотров: 4711
Последний ответ 30.03.2015, 14:22:51
от twins717
Component+Ajax+json

Автор olejenya

Ответов: 16
Просмотров: 4273
Последний ответ 04.02.2015, 00:34:42
от Aleks.Denezh
Документация по созданию компонента для Joomla 2.5

Автор Sulpher

Ответов: 74
Просмотров: 57000
Последний ответ 17.11.2014, 13:43:07
от limon142
Документация по созданию плагина для Joomla 2.5 и Joomla 3.x

Автор b2z

Ответов: 8
Просмотров: 13886
Последний ответ 27.08.2014, 09:52:02
от skinny