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

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
При вводе цифры в поле количество с клавиатуры, в корзину все равно добавлялось количество 1.
Исправлено в версии 1.2
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Благодаря пользователю Xemreht, добавлено решение для J1.5 + JSh 2.9.7.
В разделе файлов есть ссылка "Плагин для версии 2.9.7".
В шаблоне категории, там где выводятся кнопки (<div class="buttons">) нужно добавить сам вывод поля и кнопок:
Код
<?php print $product->_tmp_var_buttons;?>
В шаблоне карточке товара, там где выводится поле количества (<td class="prod_qty_input">) нужно добавить вывод кнопок:
Код
<?php print $this->product->_tmp_qty_unit;?>
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

b-boy

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
 ;D
Всем привет! И простите меня "грешного"!
Вываливаю то, что "наделал" (WARNING! решение еще "сырое" и брошенное... Joomla! 2.5.6  и  JS v3.7.2).
Поехали!
Итак, что я хотел и что вам может пригодиться:
1. необходимо прикрутить модуль AJAX карзинку
2. "+" и "-" в списке категорий, опять же на аяксе
3.  "+" и "-" в корзине, опять же с аяксе пересчетом общей стоимости
С 1 пунктом более или менее ясно, есть платное решение, различные "допилки-запилки", и мое 8):
использовал модуль mod_ice_jshopping_cart, его впрочем и не трогал, тока CSS перепилил
Идем далее.
Пункт нумер 2, вот это уже поинтереснее!
Мои драгоценные кнопочки!
Файл components\com_jshopping\templates\default\list_products\product.php
Код
<?php if ($product->buy_link){?>    
         <div class="buttons">
<input type="text" name="quantity<?php print $product->product_id?>" id="quantity<?php print $product->product_id?>" value="0">
<input type="button" name="plusButton" value="+" onClick="clickPlusButton('quantity<?php print $product->product_id?>', '<?php print $product->buy_link?>&quantity=' )">
<input type="button" name="minusButton" value="-" onClick="clickMinusButton('quantity<?php print $product->product_id?>', '<?php print $product->buy_link?>&quantity=')">

<a id="linkquantity<?php print $product->product_id?>" href="#" onclick="return false;"><?php print _JSHOP_BUY?></a> &nbsp;
</div>
<?php }?>
Но этого мало, да buy_link всех помучил я думаю... >:(
Идем сюды -> components\com_jshopping\templates\default\list_products\list_products.php
Вставил вот такой вот скриптик
Код
<script language="JavaScript">
    var startUrlValue = "<?php print $product->buy_link?>&quantity=".replace(/&amp;/g, '&');
    var urlValue = "<?php print $product->buy_link?>&quantity=".replace(/&amp;/g, '&');;
    function clickPlusButton(productCountBoxId, productURL)
    {
    productURL = productURL.replace(/&amp;/g, '&');
    var pageValue = parseInt(document.getElementById(productCountBoxId).value);
    if (isNaN(pageValue))
    {
    pageValue = 0;
    }
    pageValue += 1;
      document.getElementById(productCountBoxId).value = pageValue.toString();
      document.getElementById("link" + productCountBoxId).href = productURL + pageValue.toString()  + ";";
    }
    function clickMinusButton(productCountBoxId, productURL)
    {
    productURL = productURL.replace(/&amp;/g, '&');
    var pageValue = parseInt(document.getElementById(productCountBoxId).value);
    if (isNaN(pageValue))
    {
    pageValue = 0;
    }
if (pageValue > 0)
{
pageValue -= 1;
document.getElementById(productCountBoxId).value = pageValue.toString();
document.getElementById("link" + productCountBoxId).href = productURL + pageValue.toString() + ";";
      }
if (pageValue == 0)
{
document.getElementById("link" + productCountBoxId).href = "#";
}

    }
    </script>
И опять! не все так просто, откуда-то надо же "хавать" данные, да еще обновлять! Запилил в корень (корневой каталог) сайта файлик под названием getinfo.php
это json'чик, который чегой-то там приятного сделает нам
Код
<?php 
$summ = $_GET ["summ"];
echo "{";
foreach ($_GET as $key=>$value)
{
echo "\"".$key."\": \"";
echo $value;
echo "\",";
}
echo "}";
?>
и опять же (не все работает, а точнее еще ничего не работает ::))
+ и - ну никак... решение для этого брал...не помню... короче в файлик jtableauto.php из(components\com_jshopping\lib) дописал строчку в районе 13-14
Код
    function getBuildQueryListProductDefaultResult(){
        $lang = &JSFactory::getLang();
        return "prod.product_id, pr_cat.category_id, prod.`".$lang->get('name')."` as name, prod.`".$lang->get('short_description')."` as short_description, prod.product_ean, prod.product_thumb_image, product_full_image, prod.product_name_image, prod.product_price, prod.currency_id, prod.product_tax_id as tax_id, prod.product_old_price, prod.product_weight, prod.average_rating, prod.reviews_count, prod.hits, prod.weight_volume_units, prod.basic_price_unit_id, prod.label_id, prod.product_manufacturer_id, prod.min_price, prod.product_quantity, prod.different_prices";
    }
И теперь пункт 3!
components\com_jshopping\templates\default\cart\cart.php
кнопки, + и - , сумма по товару
Код
 <td>
<input class="quantity-minus" type="button" value="-" onclick="var qty_el = document.getElementById('quantity[<?php print $key_id ?>]'); var qty = qty_el.value; if( !isNaN( qty ) && qty > 1 ) qty_el.value--; xmlhttpPost('updateCart'); return false;">
<input type = "text" id = "quantity[<?php print $key_id ?>]" name = "quantity[<?php print $key_id ?>]" value = "<?php print $prod['quantity'] ?>" class = "inputbox" style = "width: 18px" />
<input class="quantity-plus" type="button" value="+" onclick="var qty_el = document.getElementById('quantity[<?php print $key_id ?>]'); var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++; xmlhttpPost('updateCart'); return true;">
      <?php print $prod['_qty_unit'];?>
    </td>
    <td>
<div id="summDiv_productId<?php print $prod['product_id']?>">
<?php print formatprice($prod['price']*$prod['quantity']); ?>
<?php print $prod['_ext_price_total_html']?>
<?php if ($this->config->show_tax_product_in_cart && $prod['tax']>0){?>
<span class="taxinfo"><?php print productTaxInfo($prod['tax']);?></span>
<?php }?>
</div>
    </td>
вывод итоговой цены
Код

  <td class="value">
<div id="summValue">
<?php print formatprice($this->summ);?><?php print $this->_tmp_ext_subtotal?>
</div>
</td>

Вроде все!  ^-^
Всем мир! И успехов!
*

b-boy

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Честно... возможно что-то упустил...месяц не трогал "это"...и чет как-то позабылось все. Нашелся бы ГЕРОЙ, который доведет это решение до конца... ^-^
*

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Аддон рабочий, всё огонь... А как же поиск D:
Помогите решить проблему, очееееень нужно и в поиске тоже самое...
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
А разве в поиске не работает?
Установил аддон, результаты поиска так же имеют кнопки.
Потому что шаблон вывода результатов использует шаблон вывода товаров в категории.
Покажите сайт где это "не работает".
Шаблон результатов (...\templates\default\search\products.php) должен выглядеть так:
Код
<div class="jshop">
<h1><?php print _JSHOP_SEARCH_RESULT ?></h1>

<?php if (count($this->rows)){ ?>
<div class="jshop_list_product">
<?php
    include(dirname(__FILE__)."/../".$this->template_block_form_filter);
    if (count($this->rows)){
        include(dirname(__FILE__)."/../".$this->template_block_list_product);
    }
    if ($this->display_pagination){
        include(dirname(__FILE__)."/../".$this->template_block_pagination);
    }
?>
</div>
<?php }?>
</div>
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

iceworm

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Решил проблему заменой контроллера на стандартный... т.к. оказалось, что у меня он как-то не стандартный и хватает результаты из не стандартного файла result.php...
Большое спасибо Linfuby, он и указал повреждения =)
*

b-boy

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Аддон от Linfuby хорош, нужно на него AJAX повешать и будет вообще!
Никто моим решением еще не пользовался?
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
вот еще есть решение добавления кнопок (на jQuery):

http://pcvector.net/scripts/forms/380-uvelichit-i-umenshit-znachenie-v-pole-input.html
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
v-v, Вы же пользуетесь ЖШ, почему не проверили решение прежде чем сообщать о нём? Оно не будет работать.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
v-v, Вы же пользуетесь ЖШ, почему не проверили решение прежде чем сообщать о нём? Оно не будет работать.

Проверял. У меня работает. А если добавить в том скрипте reloadPrices(); перед return false; - то будет и цена изменяться (если цена товара зависит от количества)
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
ааа... Так это только для карточки товара получается?
Я и смотрю, что для списка товаров и для корзины например такой вариант придется еще много чем допиливать...
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
ааа... Так это только для карточки товара получается?
Я и смотрю, что для списка товаров и для корзины например такой вариант придется еще много чем допиливать...

да, это только для карточки товара
*

knight

  • Новичок
  • 5
  • 1 / 1
Подскажите, в какое именно место вставить эти строчки в product_default.php?

.product_minus { width: 20px; background: url('../images/arrow_down.gif') 0 2px no-repeat;}
.product_plus { width: 20px; background: url('../images/arrow_up.gif') 0 2px no-repeat;}

Модуль скачал с nevigen.com.
Установилось нормально, но кнопки пустые...

и какой код должен быть, если я хочу + и - не как gif, а просто без оформления?

*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
А эти строки вставляются в css-файл сайта/компонента в общем это стиль.
Код уже без оформления. Всё его оформление лежит на совести разработчика, который знаком с CSS.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

ven-til

  • Захожу иногда
  • 157
  • 3 / 0
Linfuby, спасибо за плагин.
В версии ЖШ 2.9.7 это приходилось ручками добавлять, а тут прям из коробки.
Кстати в плагине для корзины нашлась одна несущественная ошибочка: при уменьшении количества товара его значение переваливало через ноль и уходило дальше в минуса, хотя в сам модуль корзины передавалось значение равное нулю.
Для устранения этой ошибки чуть подправил (выделил жирным) условие в файле plus_minus_count_product.php в строке 25:
Спойлер
[свернуть]
После исправления работает как надо.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Спасибо, за указание на ошибку. Исправлю.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Исправлено. Версию можно скачать с моего сайта.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

turbolamer

  • Захожу иногда
  • 249
  • 12 / 0
Спасибо Linfuby за отличное расширение.
Подскажите пожалуйста, как можно вывести кнопки и поле ввода ячейками таблицы в категории
Код
<td></td>
.
У меня категория сверстана как список (прайс лист), артикул, название, цена и кнопка "купить" сидят в ячейках. Соответственно, кнопки плюс-минус и поле ввода хотелось бы тоже вывести ячейками между ценой и кнопкой "купить", как это можно сделать?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Заходите в плагин открываете файл plus_minus.php И перед выводов кнопок и поля добавляете <td> а после кнопок </td>
Так сказать сложно, так как неизвестна Ваша структура. Но копать надо именно в этом направлении.
Самого аддона под рукой нет, более точно ответить не могу.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
УважаемыЙ Linfuby.
Установил версию 1.4 но получилась вот такое широкое поле в категориях.
В товарах всё нормально.


Подскажите пожалуйста что нужно подправить.
« Последнее редактирование: 14.04.2013, 05:24:26 от Гринвич »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Подскажите пожалуйста что нужно подправить.
CSS.
Подробнее на сайте htmlbook.ru
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
CSS.
Подробнее на сайте htmlbook.ru
Это безусловно нужная вещь для людей, которые тем или иным образом зарабатывают
на языках программирования а я человек проходящий и просто зашедший на огонёк.
А уж если Вы выкладываете в принципе не сложную вещь, пожалуйста напишите пару строк помощи.
Это то же не сложно.
« Последнее редактирование: 14.04.2013, 12:34:21 от Гринвич »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
....а я человек проходящий и просто зашедший на огонёк...
А уж если Вы выкладываете в принципе не сложную вещь, пожалуйста напишите пару строк помощи.
Это то же не сложно.
разберитесь и напишите. Вам же тоже не сложно .... И вас поблагодарят. Что делать другим, знают все .
забавное дело... когда читаю такую логику... просто афигеваю...
неужели только некоторые задумываются над значением пословицы  "Простота, хуже воровства."
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Это то же не сложно.
Да ну поймите вы одну простую истину.
Если человеку нужен сайт и он этого делать не умеет, то он идет в веб-студию и заказывает изготовление сайта.
Если человек делает сайт, не сильно разбираясь в этом, но делает оно его потому что хочет научиться, то если ему будут выкладывать готовые коды, то он никогда не научится...
А моя цель написания всех бесплатных расширений, не в том, чтобы учить всех делать магазины. Цель в том, чтобы создать инструмент, который позволит не править код при каждом обновлении ЖШ. Вот и всё. И в первую очередь я это делаю для себя, а с остальными просто делюсь решениями которые нашел я. Откройте тему с первого сообщения и Вы увидите, что не я автор идеи. Я всего-лишь реализовал это в виде аддона.
Все эти расширения выпускаются под лицензией MIT, что значит, что код открыт для правок.
Учитесь тому что Вы делаете, или даже не беритесь за это.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Linfuby, nevigen
Да конечно всё логично. Я не хотел никого обидеть своим высказыванием.
Сайт я делаю для себя (магазин есть но хочется чего то новенького).
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Расширение обновлено до версии 1.5
Исправлено: При наличии дополнительной цены при нажатии на кнопки в карточке товара, цена не менялась в зависимости от количества.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
и в корзине отрабатывает ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
В корзине нету javascript обновления цены. Поэтому нажатия на кнопки не обновляют цену.
Можно конечно поискать решение для обновления цены и в корзине и в списке товаров, но это не сейчас.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
а угу...
просто стало интересно.
ведь в корзине тоже колво можно менять а отрабатывает оно там оптовые цены или нет не проверял ни разу.. :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод товаров из всех подкатегорий на странице категории

Автор Faina

Ответов: 355
Просмотров: 69739
Последний ответ 11.10.2025, 08:48:34
от kit2m2
[Решено] Вывод 3-х первых картинок в списке товаров категории

Автор rudoy24

Ответов: 30
Просмотров: 12649
Последний ответ 19.07.2024, 11:41:28
от juleczka
Определить расширение. pop_description для списка товаров

Автор Alex_gs

Ответов: 3
Просмотров: 2344
Последний ответ 24.09.2023, 12:18:34
от kit2m2
Смена фото при наведении в списке товаров категории

Автор Taatshi

Ответов: 57
Просмотров: 6729
Последний ответ 15.06.2023, 15:53:25
от Akeksandr
Шаблон фильтрации товаров

Автор Prevergenec

Ответов: 1
Просмотров: 2659
Последний ответ 23.01.2023, 18:13:43
от kit2m2