Новости Joomla

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

Проект IV: Обучение с подкреплением на основе отзывов переводчиков.
Joomla собирается использовать автоматический перевод документации. В каждом языке есть свои специфические слова, характерные для Joomla. Предполагается обучать языковые модели, используя обратную связь от переводчиков, чтобы постоянно улучшать качество переводов и учитывать специфические языковые особенности Joomla.

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество Joomla)

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

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

cirip

  • Захожу иногда
  • 114
  • 0 / 0
Подскажите пожалуйста. Как сделать что бы при добавления товара и добавление цены при значение 0 на сайте показывалось чтобы при выводе цены 0,00 печаталось сообщение "Нет цены" или "Цена по запросу" ?
https://prnt.sc/uvakdk
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
прописать условие если цена меньше или равна 0 то выводить надпись
*

cirip

  • Захожу иногда
  • 114
  • 0 / 0
прописать условие если цена меньше или равна 0 то выводить надпись
Подскажите пожалуйста, как эти условия прописать и где? Шаблон стоит от Joomshopping kit V2 и в файле . /components/com_jshopping/templates/default/product/product_default.php нет такой строки что бы прописать условия с ценой.
Вот с этим кодом не получается
Код
<?php if ($product->_display_price){?>        
     <div class = "jshop_price">
          <?php if ($product->product_price <=0){?>
               <span id="utochnite">Уточните у менеджера</span>
          <?php }else{?>
               <?php if ($this->config->product_list_show_price_description) print _JSHOP_PRICE.": ";?>
               <?php print formatprice($product->product_price);?>
          <?php }?>
     </div>
<?php }?>
КОД У МЕНЯ В ШАБЛОНЕ
Код
<?php defined('_JEXEC') or die('Restricted access');
$product = $this->product;
include(dirname(__FILE__)."/load.js.php");
include(dirname(__FILE__)."/../plugin_params.php");
include_once(dirname(__FILE__)."/__array_list_categories.php");
if ($on_mod_inproducts) {
    include(dirname(__FILE__)."/_addmodule.php");
}

if (!in_array($this->product->product_id, $prod_seo_exclude_arr) && !in_array($this->category_id, $categ_seo_exclude_arr)) {
    $document =  JFactory::getDocument();
    if ($on_seo_title=="1") {
        $get_title = $document->getTitle();
        if ($noempty_seo_exclude!="1" || ($noempty_seo_exclude=="1" && !$get_title)) {
            $document->setTitle($prod_title_prefix." ".htmlspecialchars($cnp)." ".$prod_title_name_prefix." ".htmlspecialchars($this->product->name)." ".$prod_title_suffix);
        }
    }
    if ($on_seo_descr) {
        $get_metadata_decsr = $document->getMetadata('description');
        if ($noempty_seo_exclude!="1" || ($noempty_seo_exclude=="1" && !$get_metadata_decsr)) {
            $manufacturer_seo="";
            if ($on_seo_pm=="1") {
                $manufacturer_seo = $prefix_seo_pm." ".htmlspecialchars($this->product->manufacturer_info->name)." ".$suffix_seo_pm;
            }
            $document->setMetaData('description', trim($prod_descr_prefix." ".rtrim(htmlspecialchars($category_name),", ")." ".$prod_descr_name_prefix." ".htmlspecialchars($this->product->name)." ".$prod_descr_suffix." ".$manufacturer_seo));
        }
    }
}
?>
<div class="jshop productfull rp-brooksite" data-id="<?php print $this->product->product_id;?>">
<div class="productfull-main">
        <?php
            if ($ualayout && $ualayout=="mobile" && $mobile_card_view) {
                include(dirname(__FILE__)."/productfull_mobile.php");
            } else {
                include(dirname(__FILE__)."/productfull_main_".$templ_type.".php");
            }
        ?>
    </div>

<?php if ($show_tabs_descr!="1" || $on_tabs!="1"){?>
    <div class="jshop_prod_description">
        <?php print $this->product->description; ?>
    </div>
    <?php print $this->_tmp_product_html_after_description;?>
    <?php } ?>
   
    <?php if ($this->product->product_url!=""){?>
    <div class="prod_url">
        <a target="_blank" href="<?php print $this->product->product_url;?>"><?php print _JSHOP_READ_MORE?></a>
    </div>
    <?php }?>
     
    <?php //Tabs
if ($on_tabs=="1"){
$brwser = new JBrowser;
if ($typeTabs=="Collapse" || $brwser->isMobile()){
include(dirname(__FILE__)."/collapse.php");
} else {
include(dirname(__FILE__)."/tabs.php");
}
} else {
include(dirname(__FILE__)."/no_tabs.php");
}?>
   
    <?php if ($this->config->product_show_button_back && $ualayout!="mobile"){?>
        <div class="button_back">
        <input type="button" class="btn list-btn button" value="&larr; <?php print _JSHOP_BACK;?>" onclick="<?php print $this->product->button_back_js_click;?>" />
        </div>
    <?php }?>
<?php print $this->_tmp_product_html_end;?>
</div>
« Последнее редактирование: 08.10.2020, 21:25:47 от cirip »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 3292
Последний ответ 09.05.2025, 12:39:18
от azm1n
reCapcha во всплывающем окне - "Ошибка защиты от спама"

Автор Dannik

Ответов: 12
Просмотров: 3013
Последний ответ 14.09.2023, 18:59:24
от all_zer
Получить текущий номер страницы плагина "Разрыв страницы" (pagebreak)

Автор sertlan

Ответов: 1
Просмотров: 1209
Последний ответ 12.06.2023, 18:14:09
от sertlan
Как изменить lang=&quot;ru-ru&quot;?

Автор Maffo

Ответов: 0
Просмотров: 955
Последний ответ 07.04.2023, 16:07:22
от Maffo
Ошибка "0 Некорректный контроллер: имя='user', формат=''"

Автор zeus07

Ответов: 14
Просмотров: 3516
Последний ответ 20.02.2023, 11:47:20
от wiz.alex