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

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Здравствуйте!
В компоненте формирования заявок от пользователей, среди прочей информации, которую вводит пользователь, должна быть загрузка изображения (.png), которое надо сохранить на сервере и записать в БД.
В site/com_odere/views/html/default.php поле для файла представлено в блоке Структурная формула (name=img_png):
Спойлер
[свернуть]
в
В site/com_order/models/forms/ поле представлено (среди прочих полей):
Спойлер
[свернуть]
В site/com_order/controllers/registration/ register.php
Код
		$app   = JFactory::getApplication();
/* файл */
$jinput = $app->input;
if ($file = $jinput->files->get('img_png', null, 'files', 'array')) {
if ($filename = JFile::makeSafe($file['name'])) {
             $src = $file['tmp_name'];              
            $path =JPATH_SITE ."/components/com_order/assets/images/";
            $dest =$path.'uploaded_files '.$filename;
           if (JFile::upload($src, $dest)) {
JFile::delete($dest);
 } else {
                              JFactory::getApplication()->enqueueMessage('Не получается обработать файл', 'error');
                           }
} else {
JFactory::getApplication()->enqueueMessage('Нет названия файла', 'error');
}
} else {
JFactory::getApplication()->enqueueMessage('Нет файла', 'error');
}
Так вот у меня получается 'Нет файла'
Все остальные поля формы сохраняются, а вот изображение получить не могу.
Правда, в компоненте вид формы зависит от типа записи, и в модели я подставляю нужную форму
Спойлер
[свернуть]
« Последнее редактирование: 17.01.2017, 11:35:47 от GuDeVic »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Цитировать
$file = $jinput->files->get('img_png', null, 'files', 'array')
это что за зверь? откуда там четвертый параметр взялся?)
сделать var_dump($_FILES) и посмотреть что приходит
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
это что за зверь? откуда там четвертый параметр взялся?)
сделать var_dump($_FILES) и посмотреть что приходит
Вот отсюда взяла (от Fedor Vlasenko) http://joomlaforum.ru/index.php?topic=263530.0
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Да, var_dump($_FILES) (в модели)правильно изображение представляет
Спойлер
[свернуть]
« Последнее редактирование: 17.01.2017, 12:42:46 от GuDeVic »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
а если так?
Цитировать
$files = $jinput->files->get('jform', null, 'array');
if (!empty($files)) {
    foreach ($files as $file) {
        var_dump($file);
    }
}
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
а если так?
Тогда получается так:
Спойлер
[свернуть]
« Последнее редактирование: 17.01.2017, 13:38:37 от GuDeVic »
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Спасибо.
Я вставила var_dump, на экране появились сведения о загружаемом файле, и только они.
Убираю var_dump - сохраняю файлы, архивирую, загружаю компонент - ничего не меняется.
Всё выглядит так, как будто продолжается работа с неисправленным компонентом.
И наоборот, если возвращаюсь к версии, где не было var_dump и вставляю команду var_dump - тоже ничего не меняется, как будто этой команды нет.
Ничего понять не могу - ведь как-то же первый раз по Вашему совету вставила.

*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Убираю var_dump - сохраняю файлы, архивирую, загружаю компонент - ничего не меняется.
Всё выглядит так, как будто продолжается работа с неисправленным компонентом.
что архивирую и куда загружаю?)
и причем здесь var_dump?
это я просто написал для отладки что бы можно посмотреть приходит файл или нет
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
что архивирую и куда загружаю?)
и причем здесь var_dump?
это я просто написал для отладки что бы можно посмотреть приходит файл или нет
var_dump  я вставляла в контроллер и в метод register (сохранение записи) в модели. Потом эти команды убрала (закомментировала), сохранила файлы, заархивировала компонент, загрузила его, но после загрузки всё выглядело так, как будто dump_var не убран.
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Код
JFile::makeSafe($file['name'])
Оффтоп - и это всё? Маловато для проверки

https://cmscafe.ru/razrabotka/547-sozdaem-bezopasnye-rasshireniya-dlya-joomla#file-uploads


У Вас сейчас дыра, как было у AdsManager Опасное расширения для Joomla - AdsManager все версии, разработчик не добросовестный!
Спасибо. Маловато будет! Это просто для тестирования возможности загрузки.
Ещё раз спасибо за дыру, в смысле, что, скорее всего это дыра, а не я сошла с ума (пока что).
Что делать? Удавиться?
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
AdsManager у меня нет, а вот ajaxupload вчера вечером установила. Может совпадение, конечно, но в своём компоненте до загрузки изображений не дошла, тк. не могла получить информацию о загруженном файле (именно поэтому я и обратилась за помощью)
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
var_dump  я вставляла в контроллер и в метод register (сохранение записи) в модели. Потом эти команды убрала (закомментировала), сохранила файлы, заархивировала компонент, загрузила его, но после загрузки всё выглядело так, как будто dump_var не убран.
причем тут сборка и установка?
все манипуляции надо производить в файлах на уже установленном расширении, а потом уже когда все готово и работает думать уже о его сборке, упаковке и т.д.
файл то получилось загрузить или нет? :)

*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
причем тут сборка и установка?
все манипуляции надо производить в файлах на уже установленном расширении, а потом уже когда все готово и работает думать уже о его сборке, упаковке и т.д.
файл то получилось загрузить или нет? :)



Речь идёт о компонентне, который надо было дополнить возможностью загрузки пользователем файла(изображения). Т.е. пользователь выбирает тип заявки, заполняет её, заявка поступает исполнителю и тд и тп.  Но. Теперь понадобилось форму заявки дополнить возможностью ввода структурной формулы (изображение.png), чтобы исполнитель имел доп. информацию. В этом компоненте я пыталась сделать загрузку файла.
Пока не получилось. Потому что ...не знаю, что случилось, но ни print_r, ни var_dump..Ладно, попробую успокоиться.
Не сама же я от руки написала
Код
array(1) { ["jform"]=> array(5) { ["name"]=> array(1) { ["img_png"]=> string(23) "Gerb_Novosibirsk_50.png" } ["type"]=> array(1) { ["img_png"]=> string(9) "image/png" } ["tmp_name"]=> array(1) { ["img_png"]=> string(14) "/tmp/php0HB8TX" } ["error"]=> array(1) { ["img_png"]=> int(0) } ["size"]=> array(1) { ["img_png"]=> int(5413) } } }
Так как к этому массиву обратиться, чтобы прочесть имя загруженного файла, если у поля имя img_png?
*

fsv

  • Живу я здесь
  • 2796
  • 414 / 2
Цитировать
Так как к этому массиву обратиться, чтобы прочесть имя загруженного файла, если у поля имя img_png?
В контроллере:
Код: php
$files = $this->input->files->get('jform', array(), 'array');
foreach( $files['img_png'] as $img )
{
    //todo
}

Попробуйте более четко излагать мысли. Ничего не понятно в теме.
Веб-разработка: заказ. Только новая разработка.
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
В контроллере:
Код: php
$files = $this->input->files->get('jform', array(), 'array');
foreach( $files['img_png'] as $img )
{
    //todo
}

Попробуйте более четко излагать мысли. Ничего не понятно в теме.

Вообще-то в теме было написано и про компонент, и про проблему, и приведены  коды.
« Последнее редактирование: 18.01.2017, 21:14:10 от GuDeVic »
*

averkiev

  • Новичок
  • 3
  • 0 / 0
проблему то решили?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

routing в компоненте для соц сетей

Автор interregional

Ответов: 4
Просмотров: 1249
Последний ответ 10.04.2019, 09:01:01
от sivers
Удаление в самописном компоненте компоненте

Автор phpCoder

Ответов: 8
Просмотров: 1531
Последний ответ 25.11.2016, 09:09:56
от phpCoder
Как в компоненте Backend получить чистый экран без системного джумловского меню ?

Автор tm2010

Ответов: 30
Просмотров: 3177
Последний ответ 10.02.2016, 19:34:41
от Aleks.Denezh
Создание динамических полей в своем компоненте

Автор NeuroZ

Ответов: 14
Просмотров: 2186
Последний ответ 18.08.2015, 11:17:59
от b2z
Обработка данных в компоненте перед сохранением

Автор ipservice

Ответов: 2
Просмотров: 1735
Последний ответ 27.07.2015, 12:46:01
от ipservice