Новости Joomla

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам создания кастомных схем данных для сервера обновлений.

👩‍💻 v.2.6.1. Что нового?
- Правки наследования схем серверов обновлений. Улучшена логика наследования схем серверов обновлений для проектов компонент - категория - проект.
- Не стабильные релизы в сервере обновлений. Теперь в данные сервера обновлений попадают все версии (alpha, beta и т.д.), а не только stable.
- Косметические изменения. В шаблоне по умолчанию сделаны замены некоторых CSS-классов, уточнено присвоение атрибутов loading=lazy и fetchpriority.
- Рефакторинг и правки кода. Текущее обновление кодовой базы.
- Исправление ошибок.

👩‍💻 Больше спасибо за помощь в тестировании участникам нашего сообщества Александру Новикову (@pro_portal) и Александру Судьбинову (@alexrevo).

- Страница расширения
- GitHub расширения
- Joomla Extensions Directory

@joomlafeed

Событие Pizza, Bugs & Fun - 29-30 января 2026 года.

Событие Pizza, Bugs & Fun  - 29-30  января 2026 года.

Уже несколько лет в мире Joomla проводятся мероприятия "Pizza, Bugs & Fun" (#PBF), где каждый может посвятить несколько часов своего мозгового времени тому, чтобы наша любимая CMS стала ближе к идеалу.

Ссылки на видео и статьи из этого поста рассказывает об организационных вопросах, которые пригодятся для участия в PBF, а так же что и как делать.

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

Каждый помогает тем, что он умеет:

  • кто-то пишет недостающую документацию,
  • кто-то пишет код,
  • кто-то тестирует как исправлены ошибки или сделан новый функционал.

На сайте события есть карта, можно "захостить" свою локацию. Практически все движки в мире развиваются за счёт спонсирующих их компаний. Joomla одна из немногих, где развитие идёт только усилиями международного сообщества энтузиастов.

https://www.youtube.com/watch?v=a-FuVKXg_Uw 

На момент написания данного поста в репозитории Joomla 810 открытых Issue (как правило это баги) и 236 Pull request (PR, исправление багов и новый функционал). Все PR обязательно тестируются минимум двумя участниками сообщества, дабы в конечный код движка не проскочила ошибка.

Если каждый из участников только нашего сообщества сделает даже одно тестирование, то, боюсь, PR и Issue на всех не хватит 😀 И ничего не останется нашим коллегам из международных Joomla-чатов.

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

310

  • Новичок
  • 6
  • 0 / 0
Вывожу материалы, созданные конкретным пользователем в его профиле Kunena таким кодом (ниже). Сейчас выбор делается из приложения 1. Мне нужно сделать еще одну подобную вкладку для материалов из приложения 2. Если просто сдублировать код, получаю ошибку 500. Видимо, что-то вызывается дважды. Автор кода недоступен, может, кто подскажет, как модифицировать то, что есть?
Код
<!-----начало галереи-->
    <dt class="closed" title="Галерея"><strong>Галерея</strong></dt>
    <dd style="display: none;">
<div class="kblock kflat">
<?php echo '<h2>Галерея</h2>';
function getConditions($zoo, $user_id, $params) {
$db = $zoo->database;

$conditions = "a.".$zoo->user->getDBAccessString($zoo->user->get());

if(($applications = $params->get('zooapplications')) && !empty($applications)) {
$applicationIds = array();
$applications = explode("|*|", $applications);

foreach($applications as $id) {
if(!empty($id)) {
$applicationIds[] = $db->Quote((int) $id);
}
}
if(!empty($applicationIds)) {
$conditions .= " AND a.application_id".($params->get('zooapplications_selection', 0)? "" : " NOT")." IN (".implode(', ', $applicationIds).")";
}
}

if(($types = $params->get('zootypes')) && !empty($types)) {
$typeIds = array();
$types = explode("|*|", $types);
foreach($types as $id) {
if(!empty($id)) {
$typeIds[] = $db->Quote($db->escape((string) $id));
}
}
if(!empty($typeIds)) {
$conditions .= " AND a.type".($params->get('zootypes_selection', 0)? "" : " NOT")." IN (".implode(', ', $typeIds).")";
}
}

if(($categories = $params->get('zoocategories')) && !empty($categories)) {
$categoryIds = array();
$categories = explode("|*|", $categories);
foreach($categories as $id) {
if(!empty($id)) {
$categoryIds[] = $db->Quote((int) $id);
}
}
if(!empty($categoryIds)) {
$conditions .= " AND c.category_id".($params->get('zoocategories_selection', 0)? "" : " NOT")." IN (".implode(', ', $categoryIds).")";
}
}

$conditions .= " AND a.created_by = ".$db->Quote($db->escape((int) $user_id));

if(!$params->get('expired', 0)) {
$date = $zoo->date->create();
$now  = $db->Quote($date->toSQL());
$null = $db->Quote($db->getNullDate());
$conditions .= " AND (a.publish_up = ".$null." OR a.publish_up <= ".$now.")"
." AND (a.publish_down = ".$null." OR a.publish_down >= ".$now.")";
}

if($params->get('published', 1)) {
$conditions .= " AND a.state = 1";
}

return $conditions;
}

require_once(JPATH_ADMINISTRATOR.'/components/com_zoo/config.php');
$zoo = App::getInstance('zoo');
$zoo->system->language->load('com_zoo');

$user_id = JRequest::getInt('userid');

$par = array(
'zooapplications' => '1',
'zooapplications_selection' => '1',
'zootypes' => '0',
'zootypes_selection' => '0',
'zoocategories' => '0',
'zoocategories_selection' => '0',
'expired' => '0',
'published' => '1'
);

$params = new JRegistry();
$params->loadString(json_encode($par));

$options = array('select' => 'a.*',
'from' => ZOO_TABLE_ITEM.' AS a'
.' LEFT JOIN '.ZOO_TABLE_TAG.' AS b ON a.id = b.item_id'
.' LEFT JOIN '.ZOO_TABLE_CATEGORY_ITEM.' AS c ON a.id = c.item_id',
'conditions' => getConditions($zoo, $user_id, $params),
'order' => 'a.priority DESC');

$items = $zoo->table->item->all($options); ?>

<div id="yoo-zoo">
<?php if (!empty($items)) : ?>
<div class="pos-related">
                    <style>
.myitem img {
width: 100% !important;
height: auto !important;
max-height: none;
}

.myitem .pos-title, .myitem .pos-meta, .myitem .yoo-zoo.rating, .myitem .pos-content, .myitem .pos-links, .myitem p {
display: none !important;
}
</style>
<div id="d5c1c6ad-148e-47d6-a537-871177045ee7-6">
<?php foreach ($items as $item) : ?>
<div class="myitem" style="width: 20%; height: auto; max-height: 200px !important">
<div class="floatbox">
<div class="pos-media media-left">
<div class="element element-image first last">
<?php $item_html = null;
$renderer = $zoo->renderer->create('item')->addPath(array($zoo->path->path('component.site:'), $item->getApplication()->getTemplate()->getPath()));
$path   = 'item';
$prefix = 'item.';
$type = $item->getType()->id;

if ($renderer->pathExists($path.DIRECTORY_SEPARATOR.$type)) {
$path .= DIRECTORY_SEPARATOR.$type;
$prefix .= $type.'.';
}

if (in_array('teaser', $renderer->getLayouts($path))) {
$item_html = $renderer->render($prefix.'teaser', array('view' => $item->getApplication(), 'item' => $item));
} elseif (in_array('related', $renderer->getLayouts($path))) {
$item_html = $renderer->render($prefix.'related', array('view' => $item->getApplication(), 'item' => $item));
}

echo $item_html; ?>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
<?php else : ?>
<div class="no-items">
Ничего не найдено
</div>
<?php endif; ?>
</div>
            </div>
</dd>
<!---->

    <dt class="closed" title="Новости"><strong>Новости</strong></dt>
    <dd style="display: none;">
<div class="kblock kflat">
           

            </div>
</dd>           
<!---конец галереи, начало моделей---> 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с добавлением материалов в ZOO

Автор tvorec1988

Ответов: 1
Просмотров: 3137
Последний ответ 22.02.2021, 22:21:14
от draff
Где настраивается вывод колиства товара на странице?

Автор Lopes-popes

Ответов: 1
Просмотров: 3703
Последний ответ 09.08.2019, 00:12:54
от Lopes-popes
Вывод материала категории

Автор face2005

Ответов: 0
Просмотров: 3788
Последний ответ 28.09.2018, 18:26:52
от face2005
Вывод в ZOO description материалов по формуле "название+статическое описание"

Автор saschka

Ответов: 0
Просмотров: 4282
Последний ответ 24.04.2017, 14:41:48
от saschka
Вывод полей в ZOO по образцу (помощь или сделать на заказ за вознаграждение)

Автор saschka

Ответов: 2
Просмотров: 2201
Последний ответ 12.01.2017, 17:27:18
от saschka