Новости Joomla

Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9

Релиз безопасности Joomla 6.1.4 и Joomla 5.4.9

Проект Joomla! рад сообщить о выходе Joomla 6.1.4 и Joomla 5.4.9. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

JoomShift - компонент переноса контента между Joomla сайтами.

‍ JoomShift - компонент переноса контента между Joomla сайтами.

JoomShift - компонент переноса контента между Joomla сайтами.Он позволяет экспортировать модули, меню, материалы, категории, пользовательские поля и пользователей в виде переносимых JSON/ZIP-файлов, а затем импортировать их в любую другую установку Joomla.

Возможности компонента:- Модули — полная настройка, назначение пунктов меню, позиционирование и содержимое SP Page Builder.
-Меню — иерархия родительских/дочерних элементов, типы элементов, ссылки, уровни доступа и параметры. Отсутствующие типы меню создаются автоматически, а элементы, указывающие на неустановленные компоненты, пропускаются с предупреждением.
-Статьи и категории — контент, метаданные, изображения и иерархия категорий.
-Пользовательские поля — группы полей, определения, ограничения по категориям и значения (включая поля с несколькими значениями) — экспортируются и автоматически создаются заново на целевом сайте.
-Пользователи — данные профиля, назначения групп и хэши паролей, чтобы учетные записи работали сразу после импорта.
-Кросс-версииJoomla - компонент адаптируется к различиям в схеме базы данных между версиями Joomla.
-Создан для крупных сайтов — постраничные списки (20/50/100/250строк) и автоматический пакетный экспорт для сайтов с более чем 500 элементами, поэтому он продолжает работать на обычном хостинге.
-Опция перезаписи — обновляет совпадающие элементы при повторном импорте вместо создания дубликатов.
-Drag-n-drop импорт с подробным отчетом о том, что было импортировано, обновлено или пропущено, и почему.

На момент написания заметки для скачивания необходима регистрация/логин на сайте разработчика.

-Joomla Extensions Directory-Страница расширения#joomla#расширения

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

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

В модуле предусмотрено 2 макета дизайна для Bootstrap и UIkit и максимальная кастомизация для переопределения макетов в шаблон.Демо расширенияСтраница расширения

Видео в Telegram

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

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Добрый день. В методе модели разрабатываемого компонента getListQuery формирую запрос к базе данных:

Код
$query->select("*");
$query->from ("#__com_table");
$query->where ("{$where_condition}");
if ($order_query_part) {$query->order("" . $order_query_part); }
$query->setLimit("" . $menu_params->get('displayed_items_number'));

Заданное в настройках компонента (либо пункта меню) количество элементов для отображения извлекатеся и подставляется в метод формирования условия LIMIT - setLimit (). При отображении пункта меню в пользовательской части сайта setLimit() никак не влияет на количество выводимых на страницу элементов, как будто его нет в запросе. Распечатывая запрос посредством:

Код
echo $query->__toString(); exit ();

в браузере вижу запрос, в котором присутствует условие LIMIT с актуальным значением параметра настройки количества оторажаемых элементов на странице. Данный запрос выполняю через вкладку SQL базы данных Joomla в phpMyAdmin и количество выводимых на экран выбранных из таблицы строк соответствует указанному в LIMIT-e количеству результатов.

Подскажите, пожалуйста, почему он не работет должным образом в Joomla, в чём может быть причина?
« Последнее редактирование: 13.06.2017, 12:32:40 от Inoken »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Потому что OFFSET и LIMIT задаются позже в JModelList::getItems()
Код: php-brief
$this->cache[$store] = $this->_getList($this->_getListQuery(), $this->getStart(), $this->getState('list.limit'));
Соответственно, вам нужно задать их в сессии посредством $this->setState('list.start') и $this->setState('list.limit').
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Добавьте в модели такое:
Код: php
protected function populateState( $ordering = null, $direction = null ){
parent::populateState( $ordering, $direction );
$this->setState( 'list.limit', 20 );
}
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
добавил вызов метода setState('list.limit', 'значение_из_настроек') в методе getListQuery (), всё заработало. Aleks.Denezh, а чем обусловлен вызов setState в методе populateState ()?!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Метод populateState() автоматически заполняет состояние модели и вызывается при первом вызове метода getState(), а параметры состояния модели используются не только getListQuery(), но и многими другими методами.
Вы умеете код читать, так его читайте - это занимает не так много времени, во всяком случае, успеете за время ожидания очередного ответа.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
добавил вызов метода setState('list.limit', 'значение_из_настроек') в методе getListQuery (), всё заработало. Aleks.Denezh, а чем обусловлен вызов setState в методе populateState ()?!
Не совсем понял вопрос, метод setState как бы вы сами вызываете )
а метод populateState в вашей модели это банально переопределение метода в родительском классе JModelList который в дебрях себя его и вызывает!
*

Inoken

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
благодарю вас за ответы, с назначением метода populateState() всё прояснилось.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

СЕСИЯ при AJAX запросе к php файлу

Автор avantyrist

Ответов: 15
Просмотров: 3433
Последний ответ 20.12.2015, 14:13:43
от robert