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

Hurgrave

  • Новичок
  • 5
  • 2 / 0
Для людей, хорошо знающих шаблоны и умеющих работать с PHP тут ничего нового не будет. Для людей, не умеющих писать на РНР и не особо искушенных в шаблонах - может что-то новое расскажу. Мне самому пришлось покопаться, поискать, чтобы сделать как нужно.
Итак, какая у меня была задача?
Нужно было переделать вид витрины и отображения категорий. У меня был стандартный шаблон joom shopping, который отображает категории вот так:

Мне нужно было разместить все изображения на "плитках" с названиями категорий ровно под ними и без описаний категорий

Настройки встроенной темы ничего такого не позволяют, значит надо копать в шаблонах. Нужные шаблоны - это файлы maincategory.php (витрина на главной странице) и category_default.php (основной список категорий). Но внутри них для непосвященного взгляда творится лютый АДЪ из мешанины тегов HTML и PHP. Чтобы разобраться нужно выделить какие теги за что отвечают. Желательно знать хотя бы HTML5/CSS3 и понимать как оно должно выглядеть.
По сути фрагменты кода РНР вставляются в HTML-разметку и сами по себе только подставляют значения тех или иных обьектов, не влияя на разметку страницы. Поэтому наша работа выявить нужные куски кода и воткнуть их в нашу разметку. От некоторых кусков кода можно вообще отказаться.

Вот код файла category_default.php, его и поковыряем. Естественно сначала скопируем исходный файл куда-нибудь в надёжное место.

В самом начале мы обьявляем о запуске шаблона. Этот пункт - самое начало, трогать не будем, иначе у нас просто ничего не сработает.
Код
print $this->_tmp_category_html_start;
?>

Потом начинается изменяемая часть, например обьявление названия категории (name) и ее описания (description). Описание категории можно отключать, это не повлияет на работу. Здесь можно вставлять РНР-код в любое форматирование, которое вам нужно для названия категории. То есть весь HTML можно менять как бог на душу положит. Главное - не прозевать закрывающие теги div.
Код
<div class="jshop" id="comjshop">
    <h1><?php print $this->category->name?></h1> // Имя категории
    <div class="category_description">
        <?php print $this->category->description?> // Описание категории
    </div>

А теперь начинается та часть, которую нам по исходному заданию надо кастомизировать. Думаю пояснить по структуре страницы. JoomShopping новых версий сверстано на блоках, без таблиц, с использованием сетки колонок от Bootstrap. Отсюда - знакомые классы sblock. Эта сетка - адаптивная и "резиновая", умеющая автоматически увеличивать и уменьшать число колонок в зависимости от разрешения экрана. Поэтому же, меняя дизайн страницы категорий на нестандартный, вам придется вот эту бутстраповскую сетку убивать и заменять своей.

Что мы делаем в этом куске кода? Мы считаем категории и сколько их поместится в ряд. Если мы убиваем родную вёрстку, эта часть кода для нас несущественна.

Код
    <div class="jshop_list_category"> 
    <?php if (count($this->categories)) : ?>
        <div class = "jshop list_category">
            <?php foreach($this->categories as $k=>$category) : ?>
           
                <?php if ($k % $this->count_category_to_row == 0) : ?>
                    <div class = "row-fluid">
                <?php endif; ?>
               
                <div class = "sblock<?php echo $this->count_category_to_row;?> jshop_categ category">

А вот и наши барашки! Смотрите, в блоке c sblock2 image живет наша картинка категории и ссылка! Если Вы понимаете в HTML, то легко нарежете всё как надо. В нашем случае ссылка - это <?php print $category->category_link;?>, картинка - это <?php print $this->image_category_path;?>/<?php if ($category->category_image) print $category->category_image; else print $this->noimage;?>, тег alt - это <?php print htmlspecialchars($category->name)?>, название ссылки - это <?php print htmlspecialchars($category->name)?>

Код

                    <div class = "sblock2 image">
                        <a href = "<?php print $category->category_link;?>"> // Вот ссылка картинки! Её бережём!
                            <img class="jshop_img" src="<?php print $this->image_category_path;?>/<?php if ($category->category_image) print $category->category_image; else print $this->noimage;?>" alt="<?php print htmlspecialchars($category->name)?>" title="<?php print htmlspecialchars($category->name)?>" />
                        </a>

Дальше - ссылка на категорию <?php print $category->category_link?>, текстовое название категории <?php print $category->name?> и короткое описание <?php print $category->short_description?>. Эти фрагменты кода можно поместить в Вашу разметку без всяких проблем.

Код
                    </div>
                    <div class = "sblock2">
                        <div class="category_name">
                            <a class = "product_link" href = "<?php print $category->category_link?>">
                                <?php print $category->name?>
                            </a>
                        </div>
                        <p class = "category_short_description">
                            <?php print $category->short_description?>
                        </p>                       
                   </div>
                </div>


Следующий кусок кода - продолжение разметки категорий по сетке. Если Вы уже "грохнули" предыдущую разметку - спокойно добивайте и эту.
Код
                
                <?php if ($k % $this->count_category_to_row == $this->count_category_to_row - 1) : ?>
                    <div class = "clearfix"></div>
                    </div>
                <?php endif; ?>
               
            <?php endforeach; ?>
           
            <?php if ($k % $this->count_category_to_row != $this->count_category_to_row - 1) : ?>
                <div class = "clearfix"></div>
                </div>
            <?php endif; ?>
           
        </div>
    <?php endif; ?>
    </div>

А это - наш хвост файла, не несущий никакой разметки HTML и оставляемый без изменений.
Код
	<?php print $this->_tmp_category_html_before_products;?>
       
    <?php include(dirname(__FILE__)."/products.php");?>

<?php print $this->_tmp_category_html_end;?>
</div>

Собственно вот и всё. Если Вы знаете HTML, то легко справитесь дальше самостоятельно. А если не знаете, то лучше и не браться вовсе. Не исключаю что в моём тексте есть ошибки. Обычно они моментально выявляются, выбрасывая ошибки РНР. Найдёте - поправляйте. Но, надеюсь, общий принцип всё же понятен: находите нужные фрагменты кода и вставляйте в свой шаблон.
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
 ^-^ Не важно, делали вы все это для себя или клиенту, но я бы рекомендовал шаблон вам переопределить так как это всё слетит при первом обновлении...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[JoomShopping 5] вывод товаров из дочерних категорий

Автор v42bis

Ответов: 15
Просмотров: 2884
Последний ответ 14.06.2024, 11:43:28
от denistischenko
Ошибка при установке шаблона

Автор jimka

Ответов: 2
Просмотров: 2051
Последний ответ 23.08.2023, 15:22:52
от victorantoniak
Несколько категорий на одной странице

Автор geral

Ответов: 4
Просмотров: 984
Последний ответ 21.04.2023, 16:15:49
от geral
Внедрение интернет-магазина на JoomShopping в работающий сайт

Автор Sashkavtanke

Ответов: 4
Просмотров: 1856
Последний ответ 14.04.2023, 19:11:31
от IgorGeneralov
Кеширование страниц товаров JoomShopping

Автор mister_boy

Ответов: 3
Просмотров: 1009
Последний ответ 04.08.2022, 11:49:36
от ProtectYourSite