Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

ven-til

  • Захожу иногда
  • 157
  • 3 / 0
Ошибка при импорте БД
« : 31.03.2012, 17:17:11 »
Всем привет.
Есть сайт на локалке. При попытке откатится назад на резервную копию БД возникает ошибка:

Ошибка
SQL-запрос:

-- -- Дамп данных таблицы `jos_aicontactsafe_config` -- INSERT INTO `jos_aicontactsafe_config` (`id`, `config_key`, `config_value`) VALUES (1, 'use_css_backend', '1'), (2, 'activate_help', '1'), (3, 'date_format', '%d %B %Y %H:%M'), (4, 'default_status_filter', '0'), (5, 'editbox_cols', '40'), (6, 'editbox_rows', '10'), (7, 'default_name', ''), (8, 'default_email', ''), (9, 'default_subject', ''), (10, 'activate_spam_control', '0'), (11, 'block_words', 'url='), (12, 'record_blocked_messages', '1'), (13, 'activate_ip_ban', '0'), (14, 'ban_ips', ''), (15, 'redirect_ips', ''), (16, 'ban_ips_blocked_words', '0'), (17, 'maximum_messages_ban_ip', '0'), (18, 'maximum_minutes_ban_ip', '0'), (19, 'email_ban_ip', ''), (20, 'set_sender_joomla', '0'), (21, 'upload_attachments', 'media\aicontactsafe\attachments'), (22, 'maximum_size', '5000000'), (23, 'attachments_types', 'rar,zip,doc,xls,txt,gif,jpg,png,bmp'), (24, 'attach_to_email', '1'), (25, 'delete_after_sent', '0')[...]

Ответ MySQL:

#1062 - Duplicate entry '1' for key 'PRIMARY'


Подскажите как исправить.
Заранее спасибо.
*

nixsystem

  • Захожу иногда
  • 207
  • 10 / 0
Re: Ошибка при импорте БД
« Ответ #1 : 31.03.2012, 18:13:43 »
Эта ошибка говорит о том, что в таблице jos_aicontactsafe_config уже есть строка с id равным 1. Т.е. происходит дублирование записей, Чего быть не должно.
Для того чтобы этого избежать нужно перед каждый запросом INSERT INTO
вставить следующий запрос
Код: sql
DELETE * FROM 'table_name';
где table_name - имя таблицы в которую происходит вставка данных.
Само собой разумеется, что все те данные что там были будут полностью удалены и перезаписаны данными из бекапа.
*

ven-til

  • Захожу иногда
  • 157
  • 3 / 0
Re: Ошибка при импорте БД
« Ответ #2 : 31.03.2012, 19:43:31 »
и каким образом этот запрос вставить?
*

nixsystem

  • Захожу иногда
  • 207
  • 10 / 0
Re: Ошибка при импорте БД
« Ответ #3 : 31.03.2012, 22:17:45 »
А каким образом происходит восстановление резервной копии ?
*

ven-til

  • Захожу иногда
  • 157
  • 3 / 0
Re: Ошибка при импорте БД
« Ответ #4 : 31.03.2012, 22:55:32 »
А каким образом происходит восстановление резервной копии ?
как-то так:
из списка БД что слева выбираю БД
на вкладке Импорт выбираю файл бекапа БД  и Ок для подтверждения операции.
*

nixsystem

  • Захожу иногда
  • 207
  • 10 / 0
Re: Ошибка при импорте БД
« Ответ #5 : 31.03.2012, 23:15:50 »
Тогда так. Открываете файл бекапа (*.sql) в Notepad++ и перед каждой строкой
Код: sql
INSERT INTO 'table_name' ( .... );
строкой выше прописываете
Код: sql
DELETE * FROM 'table_name';
где table_name - названия ваших таблиц в базе.
После этого сохраняете файл, желательно изменив название, и восстанавливаете так же как и делали до этого.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Ошибка при импорте БД
« Ответ #6 : 01.04.2012, 02:27:55 »
Я так понимаю речь про phpMyAdmin ?

Интересненько, а я всегда думал он какраз нужен для автоматизации sql-запросов, чтоб лишний раз чета ручками не калякать. :))

А посему заходим в список таблиц базы данных, жмем Выделить все, жмем Удалить, подтверждаем.
Импортируем наш sql-дамп в пустую бд.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

nixsystem

  • Захожу иногда
  • 207
  • 10 / 0
Re: Ошибка при импорте БД
« Ответ #7 : 01.04.2012, 09:54:22 »
Можно и так, если в файле бекапа есть CREATE TEBLE.
Из приведенного куска ошибки - невозможно точно сказать есть там такие команды или нет.
*

ven-til

  • Захожу иногда
  • 157
  • 3 / 0
Re: Ошибка при импорте БД
« Ответ #8 : 01.04.2012, 13:13:20 »
Тогда так. Открываете файл бекапа (*.sql) в Notepad++ и перед каждой строкой
Код: sql
INSERT INTO 'table_name' ( .... );
строкой выше прописываете
Код: sql
DELETE * FROM 'table_name';
где table_name - названия ваших таблиц в базе.
После этого сохраняете файл, желательно изменив название, и восстанавливаете так же как и делали до этого.

Способ наверно действенный, но это ж сколько лет нужно потратить чтоб перед всеми таблицами строку вставить  :o

Я так понимаю речь про phpMyAdmin ?

Интересненько, а я всегда думал он какраз нужен для автоматизации sql-запросов, чтоб лишний раз чета ручками не калякать. :))

А посему заходим в список таблиц базы данных, жмем Выделить все, жмем Удалить, подтверждаем.
Импортируем наш sql-дамп в пустую бд.
вчера, после открытия темы решил рискнуть и удалил БД, потом создал новую, пустую.
Так вот в пустую БД все чудненько импортируется.
Вопрос: почему команда импорта в phpMyAdmin не может например обнулить таблицу и вставить данные из бекапа? (по принципу работы Total Commandera при замене файла)
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Ошибка при импорте БД
« Ответ #9 : 01.04.2012, 13:22:26 »
Ну допустим Notepad++ да и другие редакторы поддерживают множественную автозамену.
Если при бэкапе бд включить опцию "добавить DROP TABLE" то все обнулится и импортируется
*

ven-til

  • Захожу иногда
  • 157
  • 3 / 0
Re: Ошибка при импорте БД
« Ответ #10 : 01.04.2012, 13:31:33 »
А как вы осуществите множественную автозамену с подстановкой имени таблицы?
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Ошибка при импорте БД
« Ответ #11 : 01.04.2012, 13:49:59 »
notepad поддерживает и регулярки и макросы
*

Xammax

  • Новичок
  • 7
  • 0 / 0
Re: Ошибка при импорте БД
« Ответ #12 : 28.09.2015, 23:32:02 »
исправьте INSERT INTO на REPLACE INTO
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Ошибка при импорте БД
« Ответ #13 : 29.09.2015, 09:08:31 »
вверху ответ верный.но раз вы ещё на 1,5 версии(что не советую), обратитесь к хосту.
вам бд изменят, они обязаны.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Ошибка при импорте БД
« Ответ #15 : 29.09.2015, 11:54:44 »
археологи  :laugh:
а то))) а ещё они копаются в камешках....
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Ошибка при импорте БД
« Ответ #16 : 29.09.2015, 12:02:24 »
а то))) а ещё они копаются в камешках....
нет, они на форуме темы трехлетней давности находят и посты наколачивают
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться