Новости Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 Подпишись на @joomlafeed.#joomla #разработка

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

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

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Вопрос о setInterval ()
« : 13.02.2016, 13:48:21 »
Написал на php код который обращаеться к базе данных. Php файл запускается с помощью setInterval(function() {$('#myClass').load("new.php");}, 5000); . Этот скрипт будет запускаться на Joomle в материалах с доступом на 3 человека. Вопрос могут ли произойти сбои или зависания из за  3 постоянных (5000 млс ) обращения к серверу ? и еще как можно отключить setInterval() если человек перешел на другую страницу...

Заранее спасибо за помощь ! (я чайник если что то  ;D ;D ;D)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вопрос о setInterval ()
« Ответ #1 : 13.02.2016, 15:25:21 »
очень размытый вопрос. одно дело, если у вас new.php выполняется 1/100000 секунды, и совсем другое дело, если он выполняется скажем 10 секунд.
в целом, судя по написанному, подход скорее всего выбран неверный.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #2 : 13.02.2016, 16:27:11 »
php выбирает столбцы из базы данных и печатает. Интервал будет примерно где то 30 секунд или 1 минута.
будет печататься у 3 их людей .

как отключать  setInterval  при переходе на другую страницу и после возвращения   включать?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вопрос о setInterval ()
« Ответ #3 : 13.02.2016, 16:56:44 »
вы имеете в виду "при переходе на другую страницу" - это не собственно переход, а просто переключение между вкладками?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #4 : 13.02.2016, 17:06:27 »
да да
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #5 : 13.02.2016, 17:07:54 »
если он смотрит этот материал сетинтервал работал, если он переключился на другой материал чтоб сетинтервал не работал   
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вопрос о setInterval ()
« Ответ #6 : 13.02.2016, 17:14:50 »
Его нельзя поставить на паузу - можно только выключить при событии blur и включить опять при событии focus. Для чего это нужно? Похоже на г-код.
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #7 : 13.02.2016, 17:42:21 »
пускай  остановиться и заного включиться. как написать код?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вопрос о setInterval ()
« Ответ #8 : 13.02.2016, 17:48:30 »
Код
var interval = setInterval(...)
Код
$(window).on('blur', function(){
    clearInterval(interval)
})
Код
$(window).on('focus', function(){
    interval = setInterval(...)
})
*

buyanov

  • Захожу иногда
  • 188
  • 29 / 1
  • Сайты 74
Re: Вопрос о setInterval ()
« Ответ #9 : 13.02.2016, 17:54:19 »
Этот скрипт будет запускаться на Joomle в материалах с доступом на 3 человека. Вопрос могут ли произойти сбои или зависания из за  3 постоянных (5000 млс ) обращения к серверу ? и еще как можно отключить setInterval() если человек перешел на другую страницу...
Никогда так не делайте.
Вообще никогда...
Даже если очень хочется.

Используйте сокеты или лонг-поллинг. К тому же постоянные запросы к БД будут грузить базу, еще хуже то, что PHP будет хавать память. Можно конечно взять сервак и тд. Но сам подход не очень.
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Вопрос о setInterval ()
« Ответ #10 : 13.02.2016, 18:03:15 »
Большинство AJAX чатов так работает. Это не круто конечно, но сервер/БД не умрет если его каждые 5 секунд будут запрашивать, иначе что это за сервер такой?
« Последнее редактирование: 13.02.2016, 18:12:57 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

buyanov

  • Захожу иногда
  • 188
  • 29 / 1
  • Сайты 74
Re: Вопрос о setInterval ()
« Ответ #11 : 13.02.2016, 18:12:32 »
Большинство AJAX чатов так работает. Это не круто конечно, но сервер/БД не умрет если его каждые 5 секунд будут запрашивать
То что большинство так работает это не показатель - это раз. Если человеку оторвать ногу он тоже не умрет - это два.
Есть берешься что-то сам написать то сначала надо посмотреть то что уже написано сообществом, и если по каким-то причинам все не подошло пишем все грамотно, тогда и проблем не возникнет.
Я не в обиду просто если есть возможность использовать что-то получше то стоит этим воспользоваться =)
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #12 : 13.02.2016, 18:24:56 »
buyanov а можете написать  свой код который получше  , а то я не разбираюсь в сокетах или лонг-поллинг-ах. )
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #13 : 13.02.2016, 18:30:58 »
Филипп Сорокин спасибо ваш код работает как часы )
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Вопрос о setInterval ()
« Ответ #14 : 13.02.2016, 18:37:36 »
Ну я бы вообще использовал какой нибудь серверный js вроде nodejs или angularjs. Но это сложно и долго.
интернет-блог: http://websiteprog.ru
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #15 : 13.02.2016, 18:42:51 »
у меня будут  запросы идти  от 3 ох человек  , а интервал могу поставить каждые 1 минуты
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вопрос о setInterval ()
« Ответ #16 : 13.02.2016, 18:51:33 »
Филипп Сорокин спасибо ваш код работает как часы )

Спасибо - в карму ;)
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #17 : 13.02.2016, 22:07:08 »
Филипп Сорокин плюсанул карму, у меня возникла проблема есть селект и импут на  том же файле. как написать чтоб когда мышь на этом селекте или импуте (или на этой форме) то setInterval остановился, а если мышь не на нем работала ?
« Последнее редактирование: 13.02.2016, 22:13:27 от hamo »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вопрос о setInterval ()
« Ответ #18 : 13.02.2016, 22:50:23 »
Всё аналогично:

Код
$('#input-id').on('focus', function() {
    ...
})
*

buyanov

  • Захожу иногда
  • 188
  • 29 / 1
  • Сайты 74
Re: Вопрос о setInterval ()
« Ответ #19 : 14.02.2016, 03:23:22 »
С сокетами конечно лучше на сервере использовать Node.js как уже писали выше.

Но с меня пример =)

Серверная часть у нас будет на PHP создадим какую-нибудь папку в корне сайта (я создал sockets)
Файловая структура проекта:
Код
sockets
|-- bin
     |-- server.php
|-- logs
|-- src
     |-- App
          |--ws.php
|-- composer.json
|-- index.html

Для работы с вебсокетами на PHP я буду использовать библиотеку Ratchet
1. Подготовим проект нашего приложения с помощью Composer
Создадим composer.json
Спойлер
[свернуть]
2. Пишем класс WS который будет осуществлять "общение" с клиентами
Сохраняем в /sockets/src/App/ws.php
Спойлер
[свернуть]
3. Пишем простенький сервер
Сохраняем в /sockets/bin/server.php
Спойлер
[свернуть]
4. Устанавливаем с помощью Composer зависимости для этого просто запускаем
Код
composer install
5. Пишем клиента на JS
Сохраняем куда хотим я положил в туже папку /sockets/index.html
Спойлер
[свернуть]

Тут нужно поменять только адрес нашего сервера у меня на виртуалке домен local.dev сервер я буду запускать на 8080 порту
6. Запускаем из папки sockets
Код
php bin/server.php

в консоль будут падать сообщения

7. Заходим на страницу у (меня http://local.dev/sockets/index.html) в консоли будет видно время с сервера!

8*. Когда наиграемся и решим что пора в бой, наш сервер нужно запустить в фоне (куча статей про демонов на PHP) я поступлю с ним вот так =) отправлю в фон с помощью nohup
Код
nohup php -q bin/server.php > logs/server.log 2>&1 &
сообщения перенаправим в server.log

Ну вот как-то так получается =) Удачи в изучении вебсокетов!

Список литературы:

Документация по Ratchet - http://socketo.me
WebSocket JS клиент - https://learn.javascript.ru/websockets
Статейка с хабра - https://habrahabr.ru/post/79038/
« Последнее редактирование: 14.02.2016, 03:27:46 от buyanov »
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #20 : 14.02.2016, 15:25:16 »
buyanov спасибо за помощь, я тебе плюсанул тоже, но я вообще  с Node.js  и с сокетами не знаком. трудновато как то (((( А не будеть работать если я напишу с помощью сетинтервал ?, вед на сервер будут делать запросы 3 человека  раз в 1 минуту (могу и дольше поставить например до 5 и минут): Мне код сейчас нужен, а чтоб писать на вебсокетах, надо их изучать (((
*

buyanov

  • Захожу иногда
  • 188
  • 29 / 1
  • Сайты 74
Re: Вопрос о setInterval ()
« Ответ #21 : 14.02.2016, 19:45:17 »
Спасибо  ;) Да я видел что уже зарешали вроде  ^-^ Просто написал мало ли, не сейчас так позже пригодится, а может кому-то другому понадобится =)

Просто подход с setInterval() не самый удачный, но при таких условиях (это бэкэнд и нужно 3 юзерам) можно и закрыть на это глаза и сэкономить время.

А и да. Чет так и не понял пример без сокетов нужен?
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #22 : 15.02.2016, 22:01:37 »
народ помогите пожалуйста, мне нужно раз 1 минут обновлять  list.php который находится administrator/components/com_jshopping/views/orders/tmpl/list.php . ну это файл который показывает заказы в JoomShopping. Пробую с помощью setInterval() выдает ошибку Restricted access ((((( как можно решить эту проблему?
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #23 : 15.02.2016, 22:02:23 »
buyanov да ничего не понял )) давай без сокетов пример ))
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #24 : 15.02.2016, 22:14:49 »
Филипп Сорокин setInterval() не останавливается в mozille, работает только в Google и то с какими то паузами, 5 раз норм грузит потом  останавливается на секунд 15-20 и снова  на 5 секунд норм грузит , в чем может быть проблемка?((
Еще проблемка на селекте и импуте не остановливается  setInterval(). вот код

       jQuery(document).ready ( function($) {
          var interval = setInterval(function() {$('#divClass').load("/php/new_user1.php");}, 1000);

          $(window).on('blur', function(){
               clearInterval(interval)
           });
          $(window).on('focus', function(){
                interval = setInterval(function() {$('#divClass').load("/php/new_user1.php");}, 1000)
           });

           $('#mySelect').on('focus', function() {
               clearInterval(interval)
           })
     });   

тут #mySelect мой, при наведении мыши на него setInterval не должен работать
« Последнее редактирование: 15.02.2016, 22:52:26 от hamo »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вопрос о setInterval ()
« Ответ #25 : 15.02.2016, 22:57:39 »
Не знаю. Попробуйте что-нибудь вроде

Код
$(window).on('blur', function(){
   clearInterval(interval)
});

$(document).on('blur', function(){
   clearInterval(interval)
});

$(document.documentElement).on('blur', function(){
   clearInterval(interval)
});

$(document.body).on('blur', function(){
   clearInterval(interval)
});

Надо выбрать то, что работает. Ещё вариант не останавливать интервал, а каждый раз проверять, в фокусе ли окно.
« Последнее редактирование: 15.02.2016, 23:40:28 от Филипп Сорокин »
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #26 : 15.02.2016, 23:03:42 »
шас попробую, а про селект что скаже, не останавливается  селект и в гоогле
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вопрос о setInterval ()
« Ответ #27 : 15.02.2016, 23:10:55 »
События blur, focus для инпутов должны срабатывать всегда независимо от браузеров. По поводу селекта,  попробуйте события mouseover, mouseout.
*

hamo

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Re: Вопрос о setInterval ()
« Ответ #28 : 16.02.2016, 22:44:49 »
Филип Сарокин вот написал так  вроде  работает ....

var interval=setTimeout(function(){
         $('#divClass2').load("/php/new_user2.php");
   }, 3000);
$('select').hover(function(){
   clearTimeout(interval);
});
$('select').mouseout( function(){
    interval = setTimeout(function(){
         $('#divClass2').load("/php/new_user2.php");
   }, 3000);
});

Она остановится если перейду на другую страницу ? И если закрою браузер она остановится?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вопрос о setInterval ()
« Ответ #29 : 16.02.2016, 22:55:06 »
hamo

Никто не понимает конечную цель, которую вы пытаетесь достичь. Вне контекста общей задачи любые советы будут гипотетическими. На данный момент я вижу, что методы просто безумные!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопрос по шаблону Flex

Автор Invictus

Ответов: 0
Просмотров: 440
Последний ответ 06.02.2025, 21:10:46
от Invictus
Вопрос по роутеру: вложенность статей друг в друга

Автор effrit

Ответов: 6
Просмотров: 803
Последний ответ 30.09.2021, 10:17:15
от sivers
Вопрос по метатэгам и адресам в блоге

Автор ALEXRAW

Ответов: 1
Просмотров: 525
Последний ответ 22.02.2021, 11:24:12
от ALEXRAW
Вопрос по меню и Seo

Автор virtual-3

Ответов: 11
Просмотров: 810
Последний ответ 28.12.2020, 04:58:58
от rsn
Вопрос по Алиас и формировании строки запроса

Автор Alex_dark74

Ответов: 3
Просмотров: 638
Последний ответ 25.06.2020, 15:29:36
от Alex_dark74