Новости Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#joomla #расширения

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

Orion

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
[FAQ] CSS-класс страницы
« : 26.02.2012, 10:21:25 »
При создании пунктов меню в Joomla 2.5 в разделе настроек присутствует раздел "Параметры отображения страницы". В этом разделе есть поле, которое называется "CSS-класс страницы", с помощью которого, судя по описанию, можно изменить внешний вид ТОЛЬКО данной страницы. Только вот, как это сделать? Что должно быть указано в этом поле?
В ранних версиях Joomla, если не ошибаюсь, присутствовало большое поле, в которое можно было вставить CSS-код, изменявший вид страницы. А как в новой версии?
« Последнее редактирование: 29.08.2013, 10:11:33 от b2z »
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: CSS-класс страницы
« Ответ #1 : 26.02.2012, 10:37:17 »
Код
<div class="item-page<?php echo $this->pageclass_sfx?>">
...в самом начале файла components\com_content\views\article\tmpl\default.php
Посмотрите, чтобы в templates\шаблон\html\com_content\article\default.php тоже так было. Дальше просто. Пишете класс "-krevedki", и можете индивидуально оформлять CSS по селектору .item-page-krevedki
*

Orion

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: CSS-класс страницы
« Ответ #2 : 26.02.2012, 11:32:03 »
Спасибо большое!

Файлы default.php проверил: во втором файле (в файле шаблона) в тексте присутствует дополнительный символ ";" перед вторым знаком вопроса:
Код
<div class="com-content <?php echo $this->pageclass_sfx; ?>">
Не знаю, имеет ли это значение?

И еще, для уточнения: новый класс записывается как раз в то самое поле CSS-класс страницы, да? А где описать сам класс, в каком файле CSS?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: CSS-класс страницы
« Ответ #3 : 26.02.2012, 11:39:59 »
Вобще, этот суффикс можно вызывать в шаблоне и приклеивать например к тегу body, получаем больше возможностей
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: CSS-класс страницы
« Ответ #4 : 26.02.2012, 11:54:09 »
Вобще, этот суффикс можно вызывать в шаблоне и приклеивать например к тегу body, получаем больше возможностей
А как его можна в шаблоне вызвать?
Создание сайтов, шаблонов, помощь в решении проблем.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: CSS-класс страницы
« Ответ #5 : 26.02.2012, 14:35:50 »
А как его можна в шаблоне вызвать?
А вот так вот:

Код: php
<?php 
  $pageClassSuffix = JSite::getMenu()->getActive()? JSite::getMenu()->getActive()->params->get('pageclass_sfx', '-default') : '-default';
?>

Кстати, если в качестве суффикса указать слово с пробелом впереди, то получим второй класс:
Код: php
$pageClassSuffix = ' about-me';
Код: html4strict
<div class="page about-me">...</div>
Код: css
.page{
border: 1px solid gray;
}
.about-me{
background: url(../images/about-me.jpg) no-repeat;
}
Иногда удобно
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: CSS-класс страницы
« Ответ #6 : 26.02.2012, 16:58:19 »
Полезная фишка. Спасибо.
Создание сайтов, шаблонов, помощь в решении проблем.
*

Algemir

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: CSS-класс страницы
« Ответ #7 : 01.03.2012, 17:07:28 »
А не будет ли господин столь великодушен, что объяснит более на пальцах)
Делаю свой шаблон с нуля. Но в PHP ничего не смыслю.

Какие строчки и куда именно нужно вставить что бы класс прописывался в body?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: CSS-класс страницы
« Ответ #8 : 01.03.2012, 20:35:20 »
Код: php
<?php 
  $pageClassSuffix = JSite::getMenu()->getActive()? JSite::getMenu()->getActive()->params->get('pageclass_sfx', '-default') : '-default';
?>
<body class="page<?php echo $pageClassSuffix ?>">
...
</body>
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Algemir

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: CSS-класс страницы
« Ответ #9 : 02.03.2012, 11:22:15 »
Спасибо!
Оказывается я и в первый раз почти угадал)
*

Ohar

  • Новичок
  • 2
  • 0 / 0
Re: CSS-класс страницы
« Ответ #10 : 17.03.2012, 21:02:39 »
Ох, а я вот такую штуку писал:
Код: php-brief
<?php //Определение ID для <body>
if (strpos($_SERVER['REQUEST_URI'],'index.php')){
$body_id = 'index_page';
}
elseif (strpos($_SERVER['REQUEST_URI'],'about')){
$body_id = 'about_page';
}
elseif (strpos($_SERVER['REQUEST_URI'],'projects')){
$body_id = 'projects_page';
}
elseif (strpos($_SERVER['REQUEST_URI'],'faq')){
$body_id = 'faq_page';
}
else {
$body_id = 'inner_page';
}
?>
<body id="<?php echo $body_id;?>">
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: CSS-класс страницы
« Ответ #11 : 10.05.2012, 03:24:45 »
Ох, а я вот такую штуку писал:
Тогда уж лучше брать из активного пункта меню алиас, и использовать его в качестве класса страницы
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: CSS-класс страницы
« Ответ #12 : 11.05.2012, 02:18:39 »
Код: php-brief
<body id="<?php echo JMenuSite::getInstance('site')->getActive()->alias; ?>">
из совета danik.html   ^-^
*

xabbep

  • Осваиваюсь на форуме
  • 44
  • 0 / 1
Re: CSS-класс страницы
« Ответ #13 : 11.05.2012, 03:19:27 »
Код
<div class="item-page<?php echo $this->pageclass_sfx?>">
...в самом начале файла components\com_content\views\article\tmpl\default.php
Посмотрите, чтобы в templates\шаблон\html\com_content\article\default.php тоже так было. Дальше просто. Пишете класс "-krevedki", и можете индивидуально оформлять CSS по селектору .item-page-krevedki

А если у меня нет файла default.php по пути templates\шаблон\html\com_content\article\ как быть ? J2.5, нужно изменить фон на нескольких страницах, а как это сделать не могу понять.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: CSS-класс страницы
« Ответ #14 : 11.05.2012, 03:51:24 »
Значит этот файл нужно скопировать из components\com_content\views\article\tmpl\
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

xabbep

  • Осваиваюсь на форуме
  • 44
  • 0 / 1
Re: CSS-класс страницы
« Ответ #15 : 11.05.2012, 17:49:31 »
Значит этот файл нужно скопировать из components\com_content\views\article\tmpl\

Я ничего не могу понять, скопировал этот файл, добавил недостающий путь. Смысл этого файла, если в шаблоне не был предусмотрен ни путь такой, ни файл, как и чем он будет обрабатываться? Он лежит там мёртвым грузом да и всё. Может кто-то "на пальцах" объяснить по-шагово ?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: CSS-класс страницы
« Ответ #16 : 11.05.2012, 18:04:53 »
Я ничего не могу понять, скопировал этот файл, добавил недостающий путь. Смысл этого файла, если в шаблоне не был предусмотрен ни путь такой, ни файл, как и чем он будет обрабатываться? Он лежит там мёртвым грузом да и всё. Может кто-то "на пальцах" объяснить по-шагово ?
Переименуйте файл myarticle.php и в опциях материала Article Options нужно выбрать альтернативный шаблон Alternative Layout
Выберите свой файл. В нем и пропишите классы какие вам нужны. Так для разных материалов вы можете задавать свои шаблоны
*

xabbep

  • Осваиваюсь на форуме
  • 44
  • 0 / 1
Re: CSS-класс страницы
« Ответ #17 : 11.05.2012, 18:13:51 »
Переименуйте файл myarticle.php и в опциях материала Article Options нужно выбрать альтернативный шаблон Alternative Layout
Выберите свой файл. В нем и пропишите классы какие вам нужны. Так для разных материалов вы можете задавать свои шаблоны

Будете смеяться, наверное, но у меня такого файла тоже нет((
*

xabbep

  • Осваиваюсь на форуме
  • 44
  • 0 / 1
Re: CSS-класс страницы
« Ответ #18 : 11.05.2012, 18:17:08 »
может кто-то за небольшое вознаграждение помочь ? Тема называется veniyard1.7
« Последнее редактирование: 11.05.2012, 18:25:39 от xabbep »
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: CSS-класс страницы
« Ответ #19 : 12.05.2012, 07:10:26 »
Я ничего не могу понять, скопировал этот файл, добавил недостающий путь. Смысл этого файла, если в шаблоне не был предусмотрен ни путь такой, ни файл, как и чем он будет обрабатываться? Он лежит там мёртвым грузом да и всё. Может кто-то "на пальцах" объяснить по-шагово ?
Он не мертвым грузом лежит, его подхватит Joomla. Это механизм "переопределения" или "перекрытия" (override) макета (layout). Не знаю где лучше об этом почитать, но можно тут например.
Будете смеяться, наверное, но у меня такого файла тоже нет((
Смеяться не будем, ибо вы неправильно поняли реплику. Нужно переименовать default.php в myarticle.php
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

xabbep

  • Осваиваюсь на форуме
  • 44
  • 0 / 1
Re: CSS-класс страницы
« Ответ #20 : 12.05.2012, 14:53:34 »
Он не мертвым грузом лежит, его подхватит Joomla. Это механизм "переопределения" или "перекрытия" (override) макета (layout). Не знаю где лучше об этом почитать, но можно тут например.Смеяться не будем, ибо вы неправильно поняли реплику. Нужно переименовать default.php в myarticle.php

переименовал файл в myarticle.php а как теперь указать, что мне нужен в определённых пунктах меню другой фон ?
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: CSS-класс страницы
« Ответ #21 : 08.10.2012, 19:58:45 »
А как его можна в шаблоне вызвать?
Еще можно вот так
Добавляем в шаблон
Код
<?php
$menuitemid = JRequest::getInt( 'Itemid' );
if ($menuitemid) {
    $menu = JSite::getMenu();
    $bodysuffix = $menu->getParams( $menuitemid )->get('pageclass_sfx');
}
?>
теперь можем использовать класс
Код
<body class="<?php echo $bodysuffix; ?>">
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: CSS-класс страницы
« Ответ #22 : 08.10.2012, 22:59:13 »
А если класса нет будем видеть ошибку. Копируем чужие ошибки так это называется
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: CSS-класс страницы
« Ответ #23 : 09.10.2012, 04:46:25 »
А если класса нет будем видеть ошибку. Копируем чужие ошибки так это называется
Не будет ошибки
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: CSS-класс страницы
« Ответ #24 : 09.10.2012, 05:00:56 »
Код: html4strict
<body class="">
art-apple Это не ошибка по твоему. Из твоего примера где $bodysuffix вернет пустой результат на всех страницах где класс не определен. Глянь выше в постах на примерах. Где при пустых значениях класс подставляется.
Код: php-brief
<body class="mybd<?php echo $bodysuffix; ?>">
//Видиш разницу
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: CSS-класс страницы
« Ответ #25 : 09.10.2012, 07:34:20 »
Код
<body class="">
Еще раз повторяю, это не является ошибкой! Если вы намекаете на валидность, то подучите HTML. Где он не определен там его и не должно быть, это логично. И к тому же никто не мешает вам дописать условие.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: CSS-класс страницы
« Ответ #26 : 09.10.2012, 12:00:15 »
art-apple, пустой аттрибут - не ошибка? О_o. Мы с валидатором и Poznakomlus считаем, что да.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: CSS-класс страницы
« Ответ #27 : 09.10.2012, 12:17:22 »
http://bytes.com/topic/html-css/answers/435777-class
Еще немножко ошибок
art-apple
Код
<body class="">
Еще раз повторяю, это не является ошибкой! Если вы намекаете на валидность, то подучите HTML. Где он не определен там его и не должно быть, это логично. И к тому же никто не мешает вам дописать условие.
Не старайтесь мне говорить, что мне делать и я не скажу куда вам идти.
*

art-apple

  • Захожу иногда
  • 386
  • 61 / 2
Re: CSS-класс страницы
« Ответ #28 : 09.10.2012, 15:03:15 »
art-apple, пустой аттрибут - не ошибка? О_o. Мы с валидатором и Poznakomlus считаем, что да.
Да? а вот теперь проверьте валидатором (http://validator.w3.org) вот такую разметку с пустым атрибутом, я сделал это только что
Код
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
</head>

<body class="">

<div id="wrapper">

<header id="header">
<strong>Header:</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tortor. Praesent dictum, libero ut tempus dictum, neque eros elementum mauris, quis mollis arcu velit ac diam. Etiam neque. Quisque nec turpis. Aliquam arcu nulla, dictum et, lacinia a, mollis in, ante. Sed eu felis in elit tempor venenatis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut ultricies porttitor purus. Proin non tellus at ligula fringilla tristique. Fusce vehicula quam. Curabitur vel tortor vitae pede imperdiet ultrices. Sed tortor.
</header><!-- #header-->

<div id="content">
<strong>Content:</strong> Sed placerat accumsan ligula. Aliquam felis magna, congue quis, tempus eu, aliquam vitae, ante. Cras neque justo, ultrices at, rhoncus a, facilisis eget, nisl. Quisque vitae pede. Nam et augue. Sed a elit. Ut vel massa. Suspendisse nibh pede, ultrices vitae, ultrices nec, mollis non, nibh. In sit amet pede quis leo vulputate hendrerit. Cras laoreet leo et justo auctor condimentum. Integer id enim. Suspendisse egestas, dui ac egestas mollis, libero orci hendrerit lacus, et malesuada lorem neque ac libero. Morbi tempor pulvinar pede. Donec vel elit.
</div><!-- #content-->

</div><!-- #wrapper -->

<footer id="footer">
<strong>Footer:</strong> Mus elit Morbi mus enim lacus at quis Nam eget morbi. Et semper urna urna non at cursus dolor vestibulum neque enim. Tellus interdum at laoreet laoreet lacinia lacinia sed Quisque justo quis. Hendrerit scelerisque lorem elit orci tempor tincidunt enim Phasellus dignissim tincidunt. Nunc vel et Sed nisl Vestibulum odio montes Aliquam volutpat pellentesque. Ut pede sagittis et quis nunc gravida porttitor ligula.
</footer><!-- #footer -->

</body>
</html>
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: CSS-класс страницы
« Ответ #29 : 09.10.2012, 15:19:25 »
art-apple Ну чего вы так уперлись. Еше раз ошибка это. Поменяйте doctype на другой сразу увидите.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При прокрутке страницы виджет залезает на меню

Автор coliandra

Ответов: 2
Просмотров: 1301
Последний ответ 27.11.2020, 11:33:58
от coliandra
Как поменять CSS класс кнопки «Подробнее»в шаблоне?

Автор shrek_01

Ответов: 2
Просмотров: 2307
Последний ответ 23.12.2016, 20:03:43
от shrek_01
Где найти HTML каждой страницы сайта

Автор Sirius02030

Ответов: 3
Просмотров: 8446
Последний ответ 08.11.2016, 20:43:22
от Sirius02030
фон страницы в Яндекс браузере и Chrome в планшете

Автор a7575859

Ответов: 0
Просмотров: 1638
Последний ответ 21.07.2016, 16:20:56
от a7575859
Как растянуть блок на всю высоту страницы, а не экрана?

Автор ВладимирГребень

Ответов: 3
Просмотров: 2957
Последний ответ 12.06.2016, 18:44:09
от AlekVolsk