Новости Joomla

Вышел плагин CFI v.2.0.0 - экспорт/импорт материалов Joomla в таблицы.

Вышел плагин CFI v.2.0.0 - экспорт/импорт материалов Joomla в таблицы.

Плагин позволяет делать экспорт материалов Joomla в CSV файл, после чего вы можете отредактировать данные в табличном редакторе (например, Excel или OpenOffice Calc) и затем загрузить файл обратно. В некоторых случаях это удобнее и быстрее.

Плагин позволяет выгружать ID тегов, а также работать с пользовательскими полями материалов Joomla и обычно нередактируемыми свойствами материалов: просмотры, дата изменения и т.д.

Первые версии плагина CFI создал разработчик AlekVolsk для Joomline. Он разработал версии 1.0.0–1.0.16 для Joomla 3. Затем, в 2026 году, плагин был передан компании WebTolk для дальнейшего развития.

CFI v.2.0.0 — Что нового?

  1. Рефакторинг. Плагин полностью переписан заново.
  2. Новый интерфейс импорта/экспорта. Экспорт и импорт открываются в модальном окне. Появилась возможность выбора свойств материала, тегов и пользовательских полей для экспорта непосредственно перед началом экспорта.
  3. Фильтрация материалов при экспорте. Вы можете отфильтровать нужные материалы с помощью стандартных параметров поиска в панели администратора и экспортировать только их: избранные, опубликованные, материалы из определённых категорий, с заданным тегом и т.д.
  4. Импорт и экспорт всех данных материала. Ранее плагин позволял экспортировать только часть данных. Теперь можно изменять все данные материала, доступные в форме редактирования, включая нередактируемые (просмотры, дата изменения и др.). Это позволяет быстро обновлять meta-description или только данные пользовательских полей.
  5. Импорт только пользовательских полей. Обязательным полем для импорта остаётся только articleid. Это позволяет импортировать исключительно данные пользовательских полей без изменения основного содержимого материала.
  6. Joomla 6. Плагин переписан в соответствии с актуальной архитектурой Joomla 4+ и успешно протестирован на Joomla 6.
  7. Для разработчиков: предобработка плагинами. Возможна обработка данных собственными плагинами группы cfi непосредственно перед импортом или экспортом. Доступные события:
    • onExportPrepareData($event)
    • onImportPrepareArticleData($event)

Системные требования

  • Joomla 4.3+
  • PHP 8.1+

Для обновления со старых версий выпущен релиз 1.0.16, в котором добавлен новый сервер обновлений.

Ссылки

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

lalalag

  • Захожу иногда
  • 162
  • 0 / 3
При попытке редактировать модуль открывается пустое окно с выпадающим меню:
https://yadi.sk/d/0ECm2VyrxwPXa

Код:

Код
<body><select name="jform[ordering]" id="parent_jform_ordering_1"><option value="1">1. ZOO Comment</option><option value="2">2. ZOO Tag</option><option value="3">3. Widgetkit</option></select>
<script id="tmpl__PopupView__main" type="text/x-tmpl"><div class="w-jm-popup__wrap">
    <div class="w-jm-flaticon-left-arrow25 w-jm-popup__wrap__button-left" title="<%=i18n.t('Svernut')%>"></div>
    <div class="w-jm-flaticon-cancel29 w-jm-popup__wrap__button-close" title="<%=i18n.t('Otklyuchit_plagin')%>"></div>
    <div class="w-jm-popup__link w-jm-popup__wrap__button-share"><%=i18n.t('Mne_nravitsya')%></div>
    <div class="w-jm-popup__wrap__title">
        <%=i18n.t('Obnaruzheny_mediafayly')%> -
        <div class="w-jm-popup__wrap__title__count"><%=count%></div>
    </div>
    <div class="w-jm-popup__wrap__content"></div>
    <div class="w-jm-popup__wrap__close-info">
        <div class="w-jm-popup__wrap__close-info__text">
            <div class="w-jm-popup__text"><%=i18n.t('Vy_deystvitelno_khotite_otklyuchit_rasshireniye')%></div>
            <div class="w-jm-popup__subtext"><%=i18n.t('Vy_vsegda_smozhete_vklyuchit_yego')%></div>
        </div>
        <div class="w-jm-popup__wrap__close-info__button-container">
            <div class="w-jm-popup__button w-jm-popup__wrap__close-info__button-ok"><%=i18n.t('Otklyuchit_plagin')%>
            </div>
            <div class="w-jm-popup__button w-jm-popup__button--2 w-jm-popup__wrap__close-info__button-turn">
                <%=i18n.t('Svernut')%>
            </div>
            <div class="w-jm-popup__button w-jm-popup__button--2 w-jm-popup__wrap__close-info__button-cancel">
                <%=i18n.t('Otmena')%>
            </div>
        </div>
    </div>

    <div class="w-jm-popup__wrap__share">

        <div class="w-jm-popup__wrap__share__table">
            <div class="w-jm-popup__wrap__share__td">
                <div class="w-jm-popup__wrap__share__text w-jm-popup__wrap__share__text-normal"><%=i18n.t('Vam_nravitsya_nash_plagin')%>
                </div>
                <div class="w-jm-popup__wrap__share__text w-jm-popup__wrap__share__text-blocked"><%=i18n.t('Vy_davno_polzuyetes_plaginom')%>
                </div>
                <div id="id-w-jm-popup__wrap__share-ya_share"></div>
                <div class="w-jm-popup__link w-jm-popup__wrap__share__cancel"><%=i18n.t('Ne_khochu_delitsya')%></div>
            </div>
        </div>

    </div>
</div>

</script><script id="tmpl__PopupRowView__main" type="text/x-tmpl"><%

if (data.get('duration')) {
    var DurationObj = moment.duration(data.get('duration'), 'seconds');
    var DurationString = (DurationObj.seconds().toString().length == 1 ? '0' : '') + DurationObj.seconds();
    DurationString = DurationObj.minutes()? DurationObj.minutes() + ':' + DurationString : '0:' + DurationString;
    DurationString = DurationObj.hours()? DurationObj.hours() + ':' + DurationString : DurationString;
}

%>

<div data-url="<%=data.get('url')%>"
     data-filename="<%=data.get('downloadFileName')%>"
     class="w-jm-popup__button w-jm-popup__wrap__content-row__link <%=data.get('downloaded')? 'w-jm-popup__button--2 w-jm-popup__wrap__content-row__link--downloaded' : ''%>">
    <%=i18n.t('Skachat')%>
</div>
<div class="w-jm-popup__wrap__content-row__info-media">
    <div class="w-jm-popup__wrap__content-row__info-media__name"><%=data.get('displayName')? data.get('displayName') : i18n.t('Bez_nazvaniya')%></div>
    <div class="w-jm-popup__wrap__content-row__info-media__type"><%=data.get('type') == 'audio' ? i18n.t('Audio') :
        i18n.t('Video')%>

        <% if (data.get('size')) {%>
            -
            <%=Helpers.round(data.get('size') / 1024 / 1024, 1)%> <%=i18n.t('Mb')%>
        <% } %>

        <% if (data.get('duration')) {%>
            / <%=DurationString%> /
            <%=data.get('bitrate')%> kbps
        <% } %>
    </div>
    <div class="w-jm-popup__wrap__content-row__info-media__time-container">
        <div class="w-jm-popup__wrap__content-row__info-media__time"></div>
        <% if (!data.get('noPreview') && !data.get('errorPreload')) {%>
            <div class="w-jm-flaticon-play127 w-jm-popup__wrap__content-row__info-media__preview" title="<%=i18n.t('Proigrat_v_brauzere')%>"></div>
        <%}%>
        <div class="w-jm-flaticon-cancel29 w-jm-popup__wrap__content-row__info-media__remove" title="<%=i18n.t('Udalit')%>"></div>
    </div>
</div>
<div class="w-jm-popup__wrap__content-row__preview" style="<%=data.get('showPreview')? 'display:block' : ''%>">
    <% if (data.get('type') == 'audio') {%>
        <audio src="<%=data.get('url')%>" controls preload="none"></audio>
    <% } else { %>
        <video src="<%=data.get('url')%>" controls preload="none"></video>
    <% } %>
</div>

</script><div class="w-jm-popup w-jm-popup--window-show-content w-jm-popup--turn"><div class="w-jm-popup__wrap">
    <div class="w-jm-flaticon-left-arrow25 w-jm-popup__wrap__button-left w-jm-flaticon-right-arrow30" title="Развернуть"></div>
    <div class="w-jm-flaticon-cancel29 w-jm-popup__wrap__button-close" title="Отключить плагин"></div>
    <div class="w-jm-popup__link w-jm-popup__wrap__button-share">Мне нравится!</div>
    <div class="w-jm-popup__wrap__title">
        Обнаружены медиафайлы. Хотите скачать? -
        <div class="w-jm-popup__wrap__title__count">0</div>
    </div>
    <div class="w-jm-popup__wrap__content"></div>
    <div class="w-jm-popup__wrap__close-info">
        <div class="w-jm-popup__wrap__close-info__text">
            <div class="w-jm-popup__text">Вы действительно хотите отключить <br> расширение «MediaSave» для этого сайта?</div>
            <div class="w-jm-popup__subtext">Вы всегда сможете включить его вновь, нажав на значок расширения</div>
        </div>
        <div class="w-jm-popup__wrap__close-info__button-container">
            <div class="w-jm-popup__button w-jm-popup__wrap__close-info__button-ok">Отключить плагин
            </div>
            <div class="w-jm-popup__button w-jm-popup__button--2 w-jm-popup__wrap__close-info__button-turn">
                Свернуть
            </div>
            <div class="w-jm-popup__button w-jm-popup__button--2 w-jm-popup__wrap__close-info__button-cancel">
                Отмена
            </div>
        </div>
    </div>

    <div class="w-jm-popup__wrap__share">

        <div class="w-jm-popup__wrap__share__table">
            <div class="w-jm-popup__wrap__share__td">
                <div class="w-jm-popup__wrap__share__text w-jm-popup__wrap__share__text-normal">Вам нравится наш плагин? Поддержите, рассказав друзьям
                </div>
                <div class="w-jm-popup__wrap__share__text w-jm-popup__wrap__share__text-blocked">Вы уже давно пользуетесь плагином.<br> Для продолжения использования расскажите о нём своим друзьям
                </div>
                <div id="id-w-jm-popup__wrap__share-ya_share"></div>
                <div class="w-jm-popup__link w-jm-popup__wrap__share__cancel">Не хочу делиться</div>
            </div>
        </div>

    </div>
</div></div></body>


jform[ordering] - что это? искал плагины. ничего не нашел похожего
*

Ramil8009

  • Захожу иногда
  • 147
  • 1 / 1
Аналогично, как решили вопрос?
*

Ramil8009

  • Захожу иногда
  • 147
  • 1 / 1
Оказалось из-за редактора JCE
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
аналогичная беда, удалил JCE с потрахами, не помогло (
*

Ramil8009

  • Захожу иногда
  • 147
  • 1 / 1
Попробуй через другой браузер. Все таки это кеш браузера. Пару  недель назад Chrome  обновился серьезно и стал кешировать еще жестче чем раньше. Теперь F5 можно забыть. И даже CTRL + F5 не срабатывает в нашем случае. Теперь при разработке не стоит его использовать, много мучился пока не понял в чем дело. Проблемы есть и на стороне пользователей если они сидят на Хроме, например на одном сайте у меня JBZOO так в Chrome люди часто не могут добавлять материалы
« Последнее редактирование: 22.11.2016, 11:13:36 от Ramil8009 »
*

Mitriy

  • Захожу иногда
  • 86
  • 0 / 0
То же самое. Удалил JCE полностью - не помогло.
При открытии модуля вроде сначала появляется, но потом вот:

Код
	<select name="jform[ordering]" id="parent_jform_ordering_1">
<option value="1" selected="selected">Имя списка</option>
<option value="2" >2. Иконка Инфо в подвале</option>
</select>
*

Ivanko11

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
У меня такая же проблема, я её связал с переходом на https, нашел ошибку теперь думаю как исправить
моя ветка: http://joomlaforum.ru/index.php/topic,333852.new.html#new

*

Mitriy

  • Захожу иногда
  • 86
  • 0 / 0
То же самое. Удалил JCE полностью - не помогло.
При открытии модуля вроде сначала появляется, но потом вот:

Код
	<select name="jform[ordering]" id="parent_jform_ordering_1">
<option value="1" selected="selected">Имя списка</option>
<option value="2" >2. Иконка Инфо в подвале</option>
</select>
Оказалось дело было в старом модуле Perfect AJAX Popup Contact Form. Удалил его - все заработало. Хотя никаких ошибок не показывало. Просто только он один и открывался.
Вывод: ищите причину.
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
Мне помогла очистка кеша браузера после обновления Joomla
*

Mitriy

  • Захожу иногда
  • 86
  • 0 / 0
Мне помогла очистка кеша браузера после обновления Joomla
Это первое действие при возникновении каких либо ошибок :)
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
У меня после этого еще вылез косяк: в шаблоне isis не сохранялись модули не в какую. Переключаю на другой шаблон - все ок.

помогло php_value max_input_vars 3000
*

Craze

  • Захожу иногда
  • 92
  • 0 / 0
Вот такая же в точности ошибка. ни один модуль не редактируется и не создается.
И ничего не помогает. как отыскать конфликт?
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
пробовали
php_value max_input_vars 3000
?
*

Craze

  • Захожу иногда
  • 92
  • 0 / 0
500 ошибка выдается
*

Craze

  • Захожу иногда
  • 92
  • 0 / 0
стоит 10000
Такая штука. Перенес сайт на другой домен на этом же сервере - там все работает. Доделал все, что нужно.
Перенес акибой обратно. Опять такая же ошибка.
Перенес вручную - тоже самое.

проблема видимо какая-то серверная. Но как ее найти? Все делается на одном и том же сервере. все одинаково.
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
JCE пробовали удалять? Тут пишут что помогало
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенесено: Обнаружена ошибка. Class 'JFormFieldPredefinedList' not found

Автор b2z

Ответов: 0
Просмотров: 3473
Последний ответ 08.09.2021, 10:08:07
от b2z
Возникает ошибка Class 'JFormFieldPredefinedList' not found

Автор Флор

Ответов: 1
Просмотров: 4727
Последний ответ 27.08.2021, 08:29:26
от gartes
Jform для frontend модуля Joomla 3

Автор voron121

Ответов: 1
Просмотров: 5978
Последний ответ 22.02.2017, 13:34:17
от voron121
Ошибка поля JForm-User

Автор KKAAZZOO

Ответов: 1
Просмотров: 4513
Последний ответ 31.05.2016, 12:52:58
от robert
Error JForm::getInstance could not load file

Автор backovadim

Ответов: 1
Просмотров: 5163
Последний ответ 10.02.2016, 13:54:46
от backovadim