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

vova.olar

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Изменения в работе JTable
« : 27.01.2011, 13:57:43 »
Допустим имеем следующий код:

Код
$tbl = JTable::getInstance('TblName', 'prefix');
$tbl->load(0);
// либо $tbl->load();
// либо $tbl->load('');

в Joomla! 1.5 возвращал FALSE, что в принципе логично т.к. записи с таким первичным ключом в базе нет.
в Joomla! 1.6 возвращает TRUE (но FALSE при указании несуществующего первичного ключа)
тоесть в 1.6 TRUE возвращается для пустого ключа

Кто-то может обьяснить для какой светлой цели было сделано подобное поведение?
Тем кто проверял таким образом существование записи в БД придется переписывать рабочий в 1.5 код...
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Изменения в работе JTable
« Ответ #1 : 27.01.2011, 14:26:00 »
Ну если посмотреть код, то в Joomla 1.6 он несколько отличается:

Код: php
		// Check for a database error.
if ($this->_db->getErrorNum()) {
$e = new JException($this->_db->getErrorMsg());
$this->setError($e);
return false;
}

// Check that we have a result.
if (empty($row)) {
$e = new JException(JText::_('JLIB_DATABASE_ERROR_EMPTY_ROW_RETURNED'));
$this->setError($e);
return false;
}

// Bind the object with the row and return.
return $this->bind($row);

и в Joomla 1.5:
Код: php
		if ($result = $db->loadAssoc( )) {
return $this->bind($result);
}
else
{
$this->setError( $db->getErrorMsg() );
return false;
}

По логике Joomla 1.6 ошибка будет в 3-х случаях:
1. произошла ошибка в SQL
2. вернулся пустой результат
3. в процессе маппинга результата на объект произошла ошибка

Отсутствие записи по указанному ключу должно попадать под 2-й пункт. Другое дело, если посмотреть описание параметра, мы заметим:

Цитировать
An optional primary key value to load the row by, or an array of fields to match.  If not set the instance property value is used.

Вот последнее предложение может быть вполне критичным - мы же имеем дело с singleton'ом, т.е. получается может быть использовано значение от предыдущего вызова.
*

vova.olar

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Изменения в работе JTable
« Ответ #2 : 27.01.2011, 16:46:34 »
Код
if (empty($keys)) {
// If empty, use the value of the current key
$keyName = $this->_tbl_key;
$keyValue = $this->$keyName;

// If empty primary key there's is no need to load anything
if (empty($keyValue)) {
return true;
}

        ...
}

>> If empty primary key there's is no need to load anything
Вот не пойму почему? И почему возвращается TRUE? Ведь сейчас запрос не делался и предыдущего вызова не было (судя по пустому $keyValue)...
« Последнее редактирование: 27.01.2011, 16:51:29 от vova.olar »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Изменения в работе JTable
« Ответ #3 : 27.01.2011, 16:54:33 »
Хм, похоже на баг. Запости это в баг-треккер, я думаю они быстро отреагируют. Можешь потом скинуть сюда номер ошибки, я по своим каналам попробую ее продвинуть к рассмотрению.
*

vova.olar

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Изменения в работе JTable
« Ответ #6 : 28.01.2011, 11:36:43 »
Поздравлять можно будет, когда станет ready to commit. А пока, что даже патча нет. И, насколько я понимаю, они сами еще не знают, что с этим делать.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Изменения в работе JTable
« Ответ #7 : 28.01.2011, 11:51:37 »
Поздравлять можно будет, когда станет ready to commit. А пока, что даже патча нет.
Дык я просто поздравил vova.olar с пойманным багом ;)
Цитировать
И, насколько я понимаю, они сами еще не знают, что с этим делать.
Да они вообще потеряны... Где блин 1.6.1? Уже столько накопилось, а патча все нет и нет...
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Изменения в работе JTable
« Ответ #8 : 28.01.2011, 12:39:44 »
Ну там просто есть целая пачка исправлений, которые пока еще не оттестировали. Почти каждый день на канале группы локализации просят проверить тот или иной патч.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JTable - что это?

Автор ZloiOrk

Ответов: 46
Просмотров: 9402
Последний ответ 13.05.2020, 16:48:26
от vitalicc