Новости Joomla

SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам создания кастомных схем данных для сервера обновлений.

v.2.6.1. Что нового?

  • Правки наследования схем серверов обновлений. Улучшена логика наследования схем серверов обновлений для проектов компонент - категория - проект.
  • Не стабильные релизы в сервере обновлений. Теперь в данные сервера обновлений попадают все версии (alpha, beta и т.д.), а не только stable.
  • Косметические изменения. В шаблоне по умолчанию сделаны замены некоторых CSS-классов, уточнено присвоение атрибутов loading=lazy и fetchpriority.
  • Рефакторинг и правки кода. Текущее обновление кодовой базы.
  • Исправление ошибок.

Больше спасибо за помощь в тестировании участникам нашего сообщества Александру Новикову (@pro_portal) и Александру Судьбинову (@alexrevo).

Событие Pizza, Bugs & Fun - 29-30 января 2026 года.

Событие Pizza, Bugs & Fun  - 29-30  января 2026 года.

Уже несколько лет в мире Joomla проводятся мероприятия "Pizza, Bugs & Fun" (#PBF), где каждый может посвятить несколько часов своего мозгового времени тому, чтобы наша любимая CMS стала ближе к идеалу.

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

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

Каждый помогает тем, что он умеет:

  • кто-то пишет недостающую документацию,
  • кто-то пишет код,
  • кто-то тестирует как исправлены ошибки или сделан новый функционал.

На сайте события есть карта, можно "захостить" свою локацию. Практически все движки в мире развиваются за счёт спонсирующих их компаний. Joomla одна из немногих, где развитие идёт только усилиями международного сообщества энтузиастов.

https://www.youtube.com/watch?v=a-FuVKXg_Uw 

На момент написания данного поста в репозитории Joomla 810 открытых Issue (как правило это баги) и 236 Pull request (PR, исправление багов и новый функционал). Все PR обязательно тестируются минимум двумя участниками сообщества, дабы в конечный код движка не проскочила ошибка.

Если каждый из участников только нашего сообщества сделает даже одно тестирование, то, боюсь, PR и Issue на всех не хватит 😀 И ничего не останется нашим коллегам из международных Joomla-чатов.

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

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Добрый день!

Подскажите такую штуку. Хочу запускать CURL и проверять некоторые значения. Вот такую статью прочитал давно http://ссылка вырезана, так как домен распространяет вирусы/blog/sobytiya/podklyuchenie-joomla-framework-v-otdelnom-fajle.html и у меня работало например взаимодействие с базой посредствам
Спойлер
[свернуть]

Но захотелось работы через модели
Есть у меня методы которые получают данные - они работают, а вот метод save() никак не хочет.

Подключаю вот так

Спойлер
[свернуть]
« Последнее редактирование: 30.05.2019, 16:06:18 от platonische »
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #1 : 24.04.2019, 17:01:33 »
Дополню - выводит 404 страницу, может в чем в другом проблема?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: curl-файл с Joomla $model->save($data)
« Ответ #2 : 24.04.2019, 17:08:22 »
А для чего у нас вообще отладка кода придумана? Что значит - не работает?
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #3 : 24.04.2019, 17:43:29 »
А для чего у нас вообще отладка кода придумана? Что значит - не работает?
Если честно то вся моя отладка сводится к var_dump и проверке данных.
понял только то что в методе не выполняется parent:save($data);
если скажите как дебажить - буду рад и признателен.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: curl-файл с Joomla $model->save($data)
« Ответ #4 : 24.04.2019, 19:36:59 »
В методе save оборви выполнение скрипта die() и будет видно выполняется метод или нет.
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #5 : 24.04.2019, 22:02:17 »
В методе save оборви выполнение скрипта die() и будет видно выполняется метод или нет.
Я примерно тоже самое делал но var_dump прерывается выполнение внутри метода save в месте где вызывается parent::save.
Вывод значит что-то не так с данными, со структурой например, может не быть поля в бд... или ещё чего... Или die что-то другое может сказать? Проверить смогу только завтра.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: curl-файл с Joomla $model->save($data)
« Ответ #6 : 25.04.2019, 08:56:14 »
Цитировать
понял только то что в методе не выполняется parent:save($data);
Опять же, что значит не выполняется? Возвращает false? Или что?
*

tm2010

  • Захожу иногда
  • 76
  • 0 / 0
Re: curl-файл с Joomla $model->save($data)
« Ответ #7 : 25.04.2019, 13:29:26 »
честно говоря не очень ясно зачем вам эта чепуха:

$jinput = $app->input;
$phone = $jinput->getString('phone');
$channel = $jinput->getString('channel', '');
$record_file = $jinput->getString('record', '');
вы выполняете программу в CLI ( в командном файле), в стороне от веб-сервера и там этих переменных просто нет
их можно прочитать в базе данных, передать с параметрами через командник, но тут и точно нет
Или я чего-то не понимаю ?
 
если вам нужны
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #8 : 29.05.2019, 15:01:07 »
честно говоря не очень ясно зачем вам эта чепуха:

$jinput = $app->input;
$phone = $jinput->getString('phone');
$channel = $jinput->getString('channel', '');
$record_file = $jinput->getString('record', '');
вы выполняете программу в CLI ( в командном файле), в стороне от веб-сервера и там этих переменных просто нет
их можно прочитать в базе данных, передать с параметрами через командник, но тут и точно нет
Или я чего-то не понимаю ?
 
если вам нужны
Телефонный сервер в строку запихивает некие переменные - приложение их принимает и использует. Эта часть работает.

Опять же, что значит не выполняется? Возвращает false? Или что?
Я не понимаю как провести отладку правильно. Я сделал следующее, но решения не нашел:

1. сократил скрипт до минимума
Спойлер
[свернуть]

Получаю ошибку 500. Все функции перестают работать на строках parent::function будто нет чего-то (классов ...? getTable??) Все функции в которых нет parent::function - все работают
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
Re: curl-файл с Joomla $model->save($data)
« Ответ #9 : 29.05.2019, 15:19:45 »
Попробуйте получать модель через контроллер. Вот пример для умного поиска, но там поймете как переделать под свой:
Код
$cpath = JPATH_SITE.'/components/com_finder';
if(!class_exists('FinderController')) require($cpath.'/controller.php');
if(!class_exists('JHtmlQuery')) require($cpath.'/helpers/html/query.php');
if(!class_exists('JHtmlFilter')) require($cpath.'/helpers/html/filter.php');
$config = array('base_path' => $cpath);
$ctrl = new FinderController($config);
$model = $ctrl->getModel('Search', 'FinderModel');
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #10 : 29.05.2019, 15:46:13 »
Попробуйте получать модель через контроллер. Вот пример для умного поиска, но там поймете как переделать под свой:
Код
$cpath = JPATH_SITE.'/components/com_finder';
if(!class_exists('FinderController')) require($cpath.'/controller.php');
if(!class_exists('JHtmlQuery')) require($cpath.'/helpers/html/query.php');
if(!class_exists('JHtmlFilter')) require($cpath.'/helpers/html/filter.php');
$config = array('base_path' => $cpath);
$ctrl = new FinderController($config);
$model = $ctrl->getModel('Search', 'FinderModel');
Все свелось к тому же. Стоп на parent::

Вот так я поправил файл
Спойлер
[свернуть]

в файле модели /administrator/componets/com_turism/models/finance.php добавил

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

получаю вывод первого echo.
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
Re: curl-файл с Joomla $model->save($data)
« Ответ #11 : 29.05.2019, 16:08:24 »
получаю вывод первого echo.
Попробуйте там:
Код
var_dump(get_class_methods(parent));
перед или сразу после первого echo
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #12 : 29.05.2019, 16:09:45 »
var_dump(get_class_methods(parent));
NULL
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
Re: curl-файл с Joomla $model->save($data)
« Ответ #13 : 29.05.2019, 16:14:28 »
в файле модели /administrator/componets/com_turism/models/finance.php добавил
Вероятно потому, что вы подключаете контроллер и модель фронта, а правки делаете в админке
NULL
Странно. Тогда впишите вместо parent имя родительского класса модели в кавычках (т.е. строкой).
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #14 : 29.05.2019, 16:49:36 »
Вероятно потому, что вы подключаете контроллер и модель фронта, а правки делаете в админке
Указал именно пути к админке. Класс проверю завтра.
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
Re: curl-файл с Joomla $model->save($data)
« Ответ #15 : 29.05.2019, 16:54:07 »
Указал именно пути к админке.
Да, это я неправильно посмотрел. Вобщем, удостоверьтесь, что у родительского класса есть метод getItem. Если его нет, то и вызывать его не надо - читайте объект из базы и отдавайте. Либо другую модель подключать, если их там несколько.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

anatol81n

  • Захожу иногда
  • 82
  • 2 / 0
Re: curl-файл с Joomla $model->save($data)
« Ответ #16 : 29.05.2019, 20:45:59 »
так зареквайрите файл с моделью, зачем вам контроллер?
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #17 : 30.05.2019, 10:59:53 »
так зареквайрите файл с моделью, зачем вам контроллер?
Что именно вы имеете ввиду? вот это:
Код
//JModelLegacy::addIncludePath(JPATH_BASE.DS.'administrator'.DS.'components'.DS.'com_turism'.DS.'models', 'TurismModel');
//$model_finance  = JModelLegacy::getInstance( 'finance' , 'TurismModel'); //Обращаемся к модели

Результат аналогичен
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #18 : 30.05.2019, 11:06:42 »
Да, это я неправильно посмотрел. Вобщем, удостоверьтесь, что у родительского класса есть метод getItem. Если его нет, то и вызывать его не надо - читайте объект из базы и отдавайте. Либо другую модель подключать, если их там несколько.
Проверил и TurismModelFinance и JModelAdmin в обеих случаях методы и getItem и save присутствуют.
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: curl-файл с Joomla $model->save($data)
« Ответ #19 : 30.05.2019, 11:15:01 »
Может что-то изначально нельзя делать так. Еще раз опишу что я делаю.
Некое событие в системе запускает скрипт с cUrl-запросом (есть у меня варианты с передачей переменных и без передачи - это все работает).
Далее выполняется php-скрипт - собственно его и разбираем. Скрипт проводит анализ и делает изменение или создание записи.
Так вот, напрямую с базой все работает, но есть необходимость делать изменения именно при помощи модели, т.к. там включены некие дополнительные нужные процедуры.

Вот в этой то части и нет понимания почему не работает. Единственное что удалось заметить. все методы из модели, которые не наследуются, выполняются, а вот те которые наследуются молчат (что там и как отладить не знаю).

По советам выше, проверено что parent - возвращает NULL. Методы в модели присутствуют.

Кто какие идеи еще предложит? или все-таки Joomla не допускает подобного?
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
Если у вас getItem наследуется, то зачем вы его еще и дописываете в модуле дополнительно? Просто вызывайте - будет вызван именно родительский. И уточните все-таки имя родительского класса - какое оно?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Если у вас getItem наследуется, то зачем вы его еще и дописываете в модуле дополнительно? Просто вызывайте - будет вызван именно родительский. И уточните все-таки имя родительского класса - какое оно?
Все описал выше. getItem описан в модели в данном случае просто так, чтобы туда вставить отладку. Родительский класс JModelAdmin
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
Родительский класс JModelAdmin
Да, в нем есть getItem. Должно работать. Хз почему не хочет - смотреть надо.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Да, в нем есть getItem. Должно работать. Хз почему не хочет - смотреть надо.

В том-то и вопрос как посмотреть? Я вариантов не знаю.
И опять же почему parent -NULL, может здесь ответ есть?
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
И опять же почему parent -NULL
не parent NULL, а get_class_methods(parent) NULL. Видимо эта функция аргументом принимает только строку или объект, но не ссылку на класс.
Попробуйте что-нибудь вроде:
Код
try {
    echo parent::getItem($id);
} catch (Exception $e) {
    echo 'Выброшено исключение: ',  $e->getMessage(), "\n";
}

Может получиться узнать на что ругается.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
try {
    echo parent::getItem($id);
} catch (Exception $e) {
    echo 'Выброшено исключение: ',  $e->getMessage(), "\n";
}
Ничего не вывела. Именно ничего.
при любом вызове parent выводится НИЧЕГО и если перед ним не поставить что-то по выводится 500 ошибка, иначе выводится все что до parent и все.

Код выше не показал catch, он прошел по try но ничего не вывел.
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Пошел в логи вот что там
Код
 PHP Fatal error:  Call to a member function load() on a non-object in /srv/www/internetservers/turism/www/libraries/src/MVC/Model/AdminModel.php on line 944
Там вот это
Код
$return = $table->load($pk);
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
Там вот это
Значит там $table не инициализирован.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Значит там $table не инициализирован.

Тут мои знания не дают ответа. Что надо делать и в какую сторону смотреть?
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Вот с этим продвинулся дальше

Код
JTable::addIncludePath(JPATH_BASE.'/administrator/components/com_turism/tables');
Позже отпишу все ли решил
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отправка файлов через ajax в модуль Joomla

Автор hemicide

Ответов: 19
Просмотров: 2472
Последний ответ 11.04.2022, 08:44:33
от sivers
[РЕШЕНО] Дублирование при создании

Автор platonische

Ответов: 7
Просмотров: 1380
Последний ответ 12.02.2021, 11:24:26
от platonische
[РЕШЕНО] onChange в админке на field modal

Автор platonische

Ответов: 1
Просмотров: 717
Последний ответ 30.01.2021, 16:40:45
от platonische
Документация по разработки компонента для Joomla 3.x

Автор Aspik

Ответов: 9
Просмотров: 3457
Последний ответ 23.01.2021, 07:55:56
от hmr
Применение ajax (Аякс) в модуле Joomla

Автор tm2010

Ответов: 34
Просмотров: 5580
Последний ответ 26.09.2020, 09:38:35
от b2z