Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

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

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

Herrman

  • Новичок
  • 1
  • 0 / 0
Добрый день! (Joomla 3, JS 2.8.4)

Необходимо вывести Ajax-счетчик новых сообщений в стандартное меню Joomla (Main menu).
Вывести из БД кол-во сообщений получается, но с перезагрузкой страницы. Также получилось AJAX обновление переменной, прописанной в файле, который лежит в корне сайта. Никак не получается объединить это вместе.
Вот что есть.

Начало файла modules/mod_menu/tmpl/default.php:
Код
defined('_JEXEC') or die;
include_once JPATH_ROOT.'/components/com_community/libraries/core.php';

// Note. It is important to remove spaces between elements.
header('Content-Type: text/javascript; charset=UTF-8'); 

?>
</ul>
<script type="text/javascript">
      function show() 
       { 
            $.ajax({
                url: 'http://mysite.ru/ajax.php',
                type: 'Get',
  dataType: 'json',
  cache: false, 
                success: function(html){ 
                    $("#bage").html('+' + html); 
                } 
            }); 
       } 
        $(document).ready(function(){ 
show(); 
            setInterval('show()',5000); 
        }); 
</script>


Файл /ajax.php

Код
<?php
$count = 7;
echo $count;
?>

А нужно, чтобы отработал код ниже вместо того, что сейчас в AJAX.php:
Код
$my = CFactory::getUser();
$uId = $my->id;

if(!function_exists('myOwnFunc'))
{
function myOwnFunc($filter)
{
$db = JFactory::getDBO();
$unRead = 0;

// Skip the whole db query if no user specified
if(empty($filter['user_id']))
return 0;

$sql = 'select count('.$db->Quote('1').') as '.$db->quoteName('unread_count');
$sql .= ' from '.$db->quoteName('#__community_msg_recepient');
$sql .= ' where '.$db->quoteName('is_read').' = '.$db->Quote('0');
if(! empty($filter['parent']))
      $sql .= ' and '.$db->quoteName('msg_parent').' =' . $db->Quote($filter['parent']);
if(! empty($filter['user_id']))
      $sql .= ' and '.$db->quoteName('to').' =' . $db->Quote($filter['user_id']);

$sql .= ' and '.$db->quoteName('deleted').' = '.$db->Quote('0');
$db->setQuery($sql);
$result = $db->loadObject();

if(! empty($result)){
      $unRead = $result->unread_count;
}

return $unRead;
}

$count = (int)myOwnFunc( array( 'user_id' => $uId ) );
                echo $count;
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: AJAX счетчик новых сообщений
« Ответ #1 : 09.07.2013, 10:59:34 »
Приветствую,

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

Для получения консультаций или заказов под персональные разработки и кодирование рекомендую обратиться на соответствующие ресурсы.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Re: AJAX счетчик новых сообщений
« Ответ #2 : 10.07.2013, 21:48:44 »
У Вас, похоже, неверное представление о нашем форуме. Мы здесь осуществялем поддержку в случае проблем с установкой, конфигурацией и администрированием системы Joomla и ее расширений.

Для получения консультаций или заказов под персональные разработки и кодирование рекомендую обратиться на соответствующие ресурсы.

Похоже не у него одного.
Вообще-то на форуме есть коммерческий отдел, на какие "соответствующие ресурсы" вы посылаете пользователей?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: AJAX счетчик новых сообщений
« Ответ #3 : 11.07.2013, 18:41:38 »
Для получения консультаций или заказов под персональные разработки и кодирование рекомендую обратиться на соответствующие ресурсы.
Хм, вы меня удивляете... У нас на форуме есть еще разделы, посвященные вопросам разработки и модификации расширений, есть (как уже было сказано) коммерческий раздел, есть раздел по общим вопросам веб-разработки. Так что я не вижу причин отправлять ТС на какие-то там ресурсы. К чему это?
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: AJAX счетчик новых сообщений
« Ответ #4 : 12.07.2013, 03:33:23 »
Нет проблем.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JomSocial + DJ-Classifieds + Improved AJAX Login & Register

Автор Rekaros

Ответов: 2
Просмотров: 4668
Последний ответ 16.01.2018, 15:38:16
от Dinamitt
Не добавляются фото (ajax) только на одном языке сайта

Автор slarkstudia

Ответов: 1
Просмотров: 1515
Последний ответ 20.04.2015, 20:34:04
от slarkstudia
Комментарии к фото - не срабатывает AJAX

Автор romagromov

Ответов: 2
Просмотров: 1831
Последний ответ 16.02.2013, 13:18:06
от romagromov