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

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Писал скрипт импорта, в котором использовал методы из самого JoomShopping'a
В частности, для сохранения категорий брал метод save(), из JshoppingModelCategories
Метод getPrepareDataSave переопределял по-своему.
После получения ожидаемого результата - решил прогнать "профиляркой" (встроенным в Joomla отладчиком, т.к. xdebug лень настроить). И тут "прифигел"
Мне нужно получать конфиг JSH - я его дёргаю через JSFactory::getConfig()
А в отладчике запрос
Код
SHOW FULL COLUMNS 
  FROM `m3zwb_jshopping_config`
который выполняетс 5.16 мсек
Дальше
Код
SHOW FULL COLUMNS 
  FROM `m3zwb_jshopping_currencies`
на 4,5 мсек (я к товарам не обращаюсь! это всё getConfig!)
Ну и дальше на любой "чих" выполняется сначала SHOW FULL COLUMNS , а потом уже SELECT

Вот у меня и возникает логичный вопрос. Это чтож получается, что зря я вязался к методам JSH, которые проверяют всё на свете, перед тем как выборку из базы сделать?
Проще было свои запросы к базе, напрямую, писать, чтоб миновать постоянные вызовы JSFactory::getTable?
Или я не понимаю все важности получения столбцов перед выборкой? Перед записью ещё могу понять, но перед выборкой то зачем?
« Последнее редактирование: 09.02.2018, 11:12:54 от kern.USR »
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #1 : 09.02.2018, 11:08:06 »
Ещё есть "проверяльщик" сортировок, если в SAVE передавать 'ordering'
Код
UPDATE `m3zwb_jshopping_categories` 
  SET `ordering` = ordering + 1
                   
  WHERE `category_parent_id` = '0'
  AND `ordering` > '90000'
190 категорий - 13 сек
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #2 : 09.02.2018, 11:32:55 »
Или я не понимаю все важности получения столбцов перед выборкой? Перед записью ещё могу понять, но перед выборкой то зачем?
нет разницы когда, если мы работаем с JTable, то они нужны всегда, и получаются при инициализации. вообще конечно я согласен что разработчики немного странно решили с этими таблицами, и дергают их вместо моделей. но конкретно в отношении импорта - то какая разница? если вы действуете нативными методами Joomla, то все равно таблицы рано или поздно дернутся, и SHOW FULL COLUMNS выполнится. это ж синглтон, выполнится один раз и все. либо как вы и сказали вообще отказаться от табличных методов Joomla. но вот почему этот запрос выполняется у вас 5 секунд - это вопрос.... он вообще должен выполнятся мгновенно, вы точно ничего не путаете? если заглянуть в исходники, то можно увидеть что это даже не запрос по сути, а просто вывод заголовков таблиц, просто вывели уже готовую информацию. временных затрат вообще никаких, все время уходит в общем то только на обращение к базе и на получение ответа. у вас может база удаленно, и поэтому такой ответ долгий?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #3 : 09.02.2018, 12:07:19 »
вы точно ничего не путаете?
Очепятка была. Там не сек, а миллисек. Всего 15 таблиц дёргаются таким образом (75мс или, почти, 0,1с). И каждая ~5миллисекунд. Выглядит не радужно, на фоне остальных запросов в 0,03 - 0,05 миллисекунд.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #4 : 09.02.2018, 15:16:30 »
Выглядит не радужно, на фоне остальных запросов в 0,03 - 0,05 миллисекунд.
опять путаете? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #5 : 09.02.2018, 16:01:08 »
0,03 - 0,05
Устал! Руки дрожат!  ^-^

Нули лишние поставил. 0,3 - 0,5 мс

Сейчас переписал немного логику getPrepareDataSave и вынес отдельно запрос на присвоение родителей.
Получилось, вместо 964 запроса, 405, для добавления 190категорий одним проходом.
Памяти тоже меньше стало. Было 23 - стало 20. Но вот время выполнения SHOW FULL COLUMNS (решил не уходить от джумлового JTable) мне не нравится.
http://joxi.ru/Y2LEQq8tn1kzLA
« Последнее редактирование: 09.02.2018, 16:29:35 от kern.USR »
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #6 : 09.02.2018, 20:12:58 »
Бог с ним, со временем. 30 секунд хватает с головой, а в перспективе всёравно на cli переводить планировал
Но вот вылез другой вопрос! http://joxi.ru/a2XGne7IyjNkem
Как избавиться от забивания логом всей памяти? Я на хостинге 1ГБ выделять под это дело не собираюсь! Да и эксперемент показал, что ему и 2 ГБ мало.
Собсно, как отключить логирование запросов к базе, при работе с JTable?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #7 : 09.02.2018, 20:21:17 »
отключить дебаг :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #8 : 09.02.2018, 21:06:14 »
Хоть вкл, хоть откл - разницы нет. Чувак на Yii делал импорт и говорит, что тоже лог сжирал все, если через методы ядра в базу лезть.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #9 : 09.02.2018, 21:15:30 »
если дебаг отключен логов нет. логи есть только с отладкой.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #10 : 10.02.2018, 20:11:41 »
если дебаг отключен логов нет. логи есть только с отладкой.
Я даже плагин отладки отключил, но всёравно по памяти падает.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #11 : 10.02.2018, 20:33:29 »
падает там же в /Log/Log.php ?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #12 : 10.02.2018, 22:17:02 »
падает там же в /Log/Log.php ?
Он через раз падает то в Lolg/Log, то в legacy/error

Но что-то меня начинает наталкивать на мысль, что не в этих классах проблема. Память забивается чем-то другим.
Только мне никогда раньше не приходилось профилированием по памяти заниматься. А тут ещё вдруг обнаружил, что xDebug делать это не умеет  >:( .

не подкинете нормальный инструмент профилирования, с мониторингом памяти? а то их как-то много оказалось... ;)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #13 : 10.02.2018, 22:49:53 »
var_dump + memory_get_usage - самый универсальный :) даже хз что вам сказать... я не наблюдаю у себя какую либо проблему с памятью, даже если загоняю в цикл 20К запросов с JTable... время - да, долго. но по памяти проблем нет.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #14 : 10.02.2018, 23:07:30 »
var_dump + memory_get_usage
Ну вот я этим тоже занимаюсь. Пока понял одно, что после каждого добавления товара + 300кб в память.
Ещё, кажется, понял, что нужно полностью отвязываться от методов джумшоппинга (я всёже не все перетащил на чистый JTable - некоторые методы джумшоповские использую). На мысль натолкнуло то, что падает в legacy/error, а в джумшоппинге очень много обращений именно к JError, который deprecated
Видимо он то и забивает память. Где-то, что-то недопередаю ему.
Буду переделывать products по-своему полностью. Не предназначен жш, для пакетной обработки!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #15 : 10.02.2018, 23:14:31 »
Не предназначен жш, для пакетной обработки!
та все там нормально. в том числе в админке есть пакетное сохранение, и оно работает без нареканий. просто что то вы видимо и правда не учитываете... но тут даже больше вопрос в том, что в импорте в принципе должно быть все свое :) ибо зачем делать 20К запросов если можно сделать 5 :) поэтому имхо
Буду переделывать products по-своему полностью.
это очень правильное решение
« Последнее редактирование: 10.02.2018, 23:17:51 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #16 : 11.02.2018, 11:02:46 »
это судя по всему какая-то проблема видимо в новой Joomla. я сейчас на сайте включил просто отладку - и 128М не хватило, вылетело по нехватке памяти. такого раньше уж точно не было
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #17 : 12.02.2018, 15:19:20 »
Переписал все методы из products и categories по-своему. Получил результат намного лучше.
Весь каталог одним проходом потребляет 420МБ памяти (190 категорий и 5000 товаров)
Обновление цен для всех товаров - 72 мб.
Обновление остатков - 38мб.
Такие результаты меня устраивают больше.
Пока перепиливал - обратил внимание, что ЖШ использует устаревшие методы до-последнего. Видимо они решили тащить совместимость, пока Joomla совместима. Но сколько же работы им представти, когда уберут всё это добро из Joomla!

Ну и запросы внутри foreachей - это чтото!
Например, отвязка товаров от категорий:
сначала выборка всех связей по id товара
потом foreacheм перебирает каждую категорию из массива и, в теле цыкла, делает запрос на удаление каждой отдельной.
С привязкой к категориям - таже беда. Одна связь - один insert
Ещё не могу понять, почему они так сильно к orderingу цепляются? Везде его тычат и создают кучу дополнительных запросов в базу.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: По скрипту импорта-экспорта
« Ответ #18 : 12.02.2018, 16:20:20 »
Пока перепиливал - обратил внимание, что ЖШ использует устаревшие методы до-последнего. Видимо они решили тащить совместимость, пока Joomla совместима. Но сколько же работы им представти, когда уберут всё это добро из Joomla!
раньше да, но в последних версиях вроде такое явное все переделали уже. что именно вы там такого увидели?

Ещё не могу понять, почему они так сильно к orderingу цепляются? Везде его тычат и создают кучу дополнительных запросов в базу.
а это еще вообще с 1.5
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: По скрипту импорта-экспорта
« Ответ #19 : 12.02.2018, 16:50:41 »
раньше да, но в последних версиях вроде такое явное все переделали уже. что именно вы там такого увидели?
повсеместное выполнение запросов методом query, который
Цитировать
deprecated 13.1 (Platform) & 4.0 (CMS)

Формирование алиасов, записи в лог, выброс эксэпшенов и т.п. Всё - deprecated, и в 4.16.3 - это всё присутсвует
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Re: Требуется разработчик для создания экспорта по сайту

Автор Maxim3223

Ответов: 4
Просмотров: 1178
Последний ответ 11.11.2017, 13:45:36
от flyingspook
Есть ли бесплатное решение для импорта с фото

Автор nick71

Ответов: 0
Просмотров: 1818
Последний ответ 20.04.2013, 19:18:52
от nick71
Как задать файл для автоматического импорта (.csv)?

Автор iceworm

Ответов: 2
Просмотров: 2004
Последний ответ 18.12.2012, 22:50:51
от Linfuby
Не могу разобраться с автоматическим выполнением импорта

Автор iceworm

Ответов: 10
Просмотров: 2351
Последний ответ 14.12.2012, 11:29:20
от iceworm
Возможность импорта дополнительных цен

Автор bkru

Ответов: 1
Просмотров: 1424
Последний ответ 29.09.2012, 16:26:15
от victorantoniak