Новости 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 Гость просматривают эту тему.
  • 14 Ответов
  • 817 Просмотров
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Доброго времени суток, есть левый компонент, пытаюсь вывести список в пагинаторе, уже битый час бьюсь с решением этой проблемы и все не как не могу нечего сделать. Может кто уже сталкивался с подобным? спасибо.

Код
//view start cat
$db->setQuery("SELECT n.id, n.title, n.alias, n.images, n.price FROM #__main_nomenclature n LEFT JOIN #__categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->query();
$stcat = $db->loadObjectList();

foreach ($stcat as $row){
?>

<div class="col-xs-3">
<div class="product" id="uid<?=$row->id?>">
<a href="<?php echo JRoute::_( '/nomenclature/object/'.$row->id . '-' . $row->alias ); ?>">
                        <p class="size"><?=$row->title;?></p>
<img <?=$styleimages?> src="<?=$row->images;?>" class="img-responsive center-block">
</a>
<div class="catalog_item_control item_control_price_buy">
<div class="item_price">
<div id="" class="item_price"><?=$row->price;?> руб.</div>
</div>
</div>
</div>


</div>

<?php

}
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Загнать список в пагинатор
« Ответ #1 : 16.05.2018, 12:03:55 »
Так а что не получается?
Не понятно что вообще надо сделать!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Re: Загнать список в пагинатор
« Ответ #2 : 16.05.2018, 13:27:52 »
Не понятно что вообще надо сделать!
пагинатор как подключить здесь?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Загнать список в пагинатор
« Ответ #3 : 16.05.2018, 13:35:23 »
пагинатор
Код: php
new \JPagination($this->getTotal(), $this->getStart(), $limit);
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Re: Загнать список в пагинатор
« Ответ #4 : 16.05.2018, 15:36:57 »
Код
jimport('joomla.html.pagination');

$limit = JRequest::getVar( 'limit', 5, '', 'int' );
$limitstart = JRequest::getVar( 'limitstart', 0, '', 'int' );

$query = ("SELECT COUNT(n.id) FROM n8vro_main_nomenclature n LEFT JOIN #_categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->setQuery($query);
$total = $db->loadResult();

//view start cat
$query = ("SELECT n.id, n.title, n.alias, n.images, n.price FROM #_main_nomenclature n LEFT JOIN n8vro_categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->setQuery($query, $limitstart, $limit);
$stcat = $db->loadObjectList();

foreach ($stcat as $row){

Чего еще не хватает?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Загнать список в пагинатор
« Ответ #5 : 16.05.2018, 15:49:01 »
Код
jimport('joomla.html.pagination');

$limit = JRequest::getVar( 'limit', 5, '', 'int' );
$limitstart = JRequest::getVar( 'limitstart', 0, '', 'int' );

$query = ("SELECT COUNT(n.id) FROM n8vro_main_nomenclature n LEFT JOIN #_categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->setQuery($query);
$total = $db->loadResult();

//view start cat
$query = ("SELECT n.id, n.title, n.alias, n.images, n.price FROM #_main_nomenclature n LEFT JOIN n8vro_categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->setQuery($query, $limitstart, $limit);
$stcat = $db->loadObjectList();

foreach ($stcat as $row){

Чего еще не хватает?
Не понятно что вообще хочешь сделать?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Re: Загнать список в пагинатор
« Ответ #6 : 16.05.2018, 15:52:29 »
Не понятно что вообще хочешь сделать?
Смотрите https://www.google.ru/search?q=книги видите с низу 1, 2, 3 и тд. весь огромный список разделен построчно? вот мне нужно тоже самое только в своем компоненте, не могу разобраться с инструментом Joomla как подключить пагинатор к моему коду, код выше..
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Re: Загнать список в пагинатор
« Ответ #7 : 16.05.2018, 15:54:36 »
Вот так выглядит мой views/main/tmpl/default.php

Код
<?php

jimport('joomla.html.pagination');

$limit = JRequest::getVar( 'limit', 5, '', 'int' );
$limitstart = JRequest::getVar( 'limitstart', 0, '', 'int' );

$query = ("SELECT COUNT(n.id) FROM #_main_nomenclature n LEFT JOIN n8vro_categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->setQuery($query);
$total = $db->loadResult();

$query = ("SELECT n.id, n.title, n.alias, n.images, n.price FROM #_main_nomenclature n LEFT JOIN n8vro_categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->setQuery($query, $limitstart, $limit);
$stcat = $db->loadObjectList();

foreach ($stcat as $row){
?>

<div class="col-xs-3">
<div class="product" id="uid<?=$row->id?>">
<a href="<?php echo JRoute::_( '/nomenclature/object/'.$row->id . '-' . $row->alias ); ?>">
                        <p class="size"><?=$row->title;?></p>
<img <?=$styleimages?> src="<?=$row->images;?>" class="img-responsive center-block">
</a>
<div class="catalog_item_control item_control_price_buy">
<div class="item_price">
<div id="" class="item_price"><?=$row->price;?> руб.</div>
</div>
</div>
</div>


</div>

<?php

}

include_once( JPATH_BASE . '/libraries/src/Pagination/Pagination.php' );
$pageNav = new getPaginationLinks( $total, $limitstart, $limit );

Не как не могу завершить задуманное. Помогите пожалуйста.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Загнать список в пагинатор
« Ответ #8 : 16.05.2018, 16:08:43 »
Смотрите https://www.google.ru/search?q=книги видите с низу 1, 2, 3 и тд. весь огромный список разделен построчно? вот мне нужно тоже самое только в своем компоненте, не могу разобраться с инструментом Joomla как подключить пагинатор к моему коду, код выше..
Не занимайся хернёй!
В Joomla это уже предусмотрено, надо назначить правильные унаследованные класса контроллеру и модели тай страницы на который должен быть пагинатор... Для примера глянь как это работает в стандартном компоненте материалов в представлении articles, далжон разобраться! Если нет, пиши вместе будем разбираться...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Re: Загнать список в пагинатор
« Ответ #9 : 16.05.2018, 16:12:29 »
Не занимайся хернёй!
Понял. Разобрался чутка.

Цитировать
<?php

jimport('joomla.html.pagination');

$limit = JRequest::getVar( 'limit', 5, '', 'int' );
$limitstart = JRequest::getVar( 'limitstart', 0, '', 'int' );

$query = ("SELECT COUNT(n.id) FROM #_main_nomenclature n LEFT JOIN #_categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->setQuery($query);
$total = $db->loadResult();

//view start cat
$query = ("SELECT n.id, n.title, n.alias, n.images, n.price FROM #_main_nomenclature n LEFT JOIN #_categories c ON n.catid = c.id WHERE c.parent_id = '{$item->id}'");
$db->setQuery($query, $limitstart, $limit);   
$stcat = $db->loadObjectList();

   foreach ($stcat as $row){
?>

<div class="col-xs-3">   
   <div class="product" id="uid<?=$row->id?>">
      <a href="<?php echo JRoute::_( '/nomenclature/object/'.$row->id . '-' . $row->alias ); ?>">
                        <p class="size"><?=$row->title;?></p>
         <img <?=$styleimages?> src="<?=$row->images;?>" class="img-responsive center-block">
      </a>
      <div class="catalog_item_control item_control_price_buy">
         <div class="item_price">
            <div id="" class="item_price"><?=$row->price;?> руб.</div>
         </div>
      </div>
   </div>


</div>

<?php

   }

$pageNav = new JPagination($total, $limitstart, $limit);
echo $pageNav->getListFooter();

?>


Теперь другая проблема. такое ощущение что чего то не хватает пагинатору. при нажатии на 2 или 3 страницу он просто кидает на верх страницы, чего ему не хватает?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Загнать список в пагинатор
« Ответ #10 : 16.05.2018, 16:14:41 »
Ну как хочешь! Я предложил тебе более простой вариант без заморочек, ну а если ты легких путей не ищешь, то дерзай...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Re: Загнать список в пагинатор
« Ответ #11 : 16.05.2018, 16:20:37 »
Ну как хочешь! Я предложил тебе более простой вариант без заморочек, ну а если ты легких путей не ищешь, то дерзай...
Процесс уже запущен. Чего может не хватать?

Код

<li class="active">
<span>1</span>
</li>


<li>
<a   href="#" onclick="document.adminForm.limitstart.value=5; Joomla.submitform();return false;">
2 </a>
</li>


<li>
<a   href="#" onclick="document.adminForm.limitstart.value=10; Joomla.submitform();return false;">
3 </a>
</li>


<li>
<a   href="#" onclick="document.adminForm.limitstart.value=15; Joomla.submitform();return false;">
4 </a>

Чего ему не хватает?
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Re: Загнать список в пагинатор
« Ответ #12 : 16.05.2018, 16:29:00 »
Я так понимаю он берет пагинатор из административной части, у кого есть поты работы с админкой? кто поделиться что нужно подключить что бы все заработало?
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Re: Загнать список в пагинатор
« Ответ #13 : 16.05.2018, 17:06:23 »
Теперь заработало количество строк, когда жму 2 или 3 страницу, кидает на главную, куда копать?
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Получить список тегов каждого материала в блоге категории

Автор goga_pgasovav

Ответов: 1
Просмотров: 748
Последний ответ 02.03.2023, 14:20:21
от goga_pgasovav
Выпадающий список и его высота

Автор androv77

Ответов: 7
Просмотров: 606
Последний ответ 16.11.2022, 12:56:39
от marksetter
Не работает выпадающий список

Автор yyyuuu

Ответов: 2
Просмотров: 576
Последний ответ 15.08.2022, 11:00:38
от sivers
Получить список выбранных изображений в медиаменеджере

Автор voron121

Ответов: 0
Просмотров: 526
Последний ответ 05.05.2022, 23:26:10
от voron121
Список материалов категории открыт, полные тексты для зарегистрированных - как?

Автор Аня

Ответов: 0
Просмотров: 451
Последний ответ 13.04.2022, 18:37:43
от Аня