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

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
Всем привет. Столкнулся с проблемой: нужно поменять стили отображения системы комментариев на сайте (Cackle). Их техподдержка как попугаи твердят одну и ту же фразу "Если вы знакомы с CSS, то переопределите стиль виджета в отдельном файле на вашем сайте используя более длинные селекторы и/или свойство !important".

Подскажите пожалуйста, как это сделать?

У меня Joomla 3. Я понимаю, что нужно в папке шаблона создать файл со стилями, но как привязать эти стили к форме комментариев? Помогите пожалуйста... !

P.S. - Даю ссылочку на пример работы их виджета: http://cackle.me/demo/comments
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Так в чем проблема? Как обычно выбираете нужный элемент и прописываете для него нужные стили.
Главное чтобы они были более специфичные чем в оригинальных стилях или располагались позже них. 
*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
выбираете нужный элемент и прописываете для него нужные стили
Спасибо что откликнулись. Как это сделать, как выбрать нужный элемент? У меня комментарии встроены в страницу куском кода...

Код
<div id="mc-container"></div>
<script type="text/javascript">
cackle_widget = window.cackle_widget || [];
cackle_widget.push({widget: 'Comment', id: *****});
(function() {
    var mc = document.createElement('script');
    mc.type = 'text/javascript';
    mc.async = true;
    mc.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://cackle.me/widget.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(mc, s.nextSibling);
})();
</script>
<a id="mc-link" href="http://cackle.me">Комментарии для сайта <b style="color:#4FA3DA">Cackl</b><b style="color:#F65077">e</b></a>
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Вам нужно начать с изучения CSS. Можно ответить на конкретный вопрос, типа "как выровнить этот элемент и поменять ему цвет", но объяснять азы CSS мне кажется здесь вряд ли кто-то будет.
*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
объяснять азы CSS мне кажется здесь вряд ли кто-то будет
Да и не нужно мне обьяснять азы... Я знаю как переопределить стиль модуля и всего того что установлено на сайте. Но я не знаю как переопределить то, что не находится на сайте... Стиль отображения у Какла находится на сервере по адресу: https://i.cackle.me/widget/css/comment2.css?v=ed9ff214b191+

Мне нужно создать в папке CSS моего шаблона папку аналогичную той что в оригинале...

Если это модуль, то получится следующее:
public_html/templates/myspace/css/mod_login/style.css

Вот что мне тут создать вместо mod_login ума не приложу...
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Да и не нужно мне обьяснять азы... Я знаю как переопределить стиль модуля и всего того что установлено на сайте. Но я не знаю как переопределить то, что не находится на сайте...

Круто, если чего то нет на сайте, то зачем это переопределять :laugh:
Думаю вы все-таки не понимаете, все что отображается в браузере у пользователя является частью страницы и не важно откуда это загружено, с вашего сервера или откуда то еще. Просто прописываете стили для нужных элементов на странице, а в каком файле они при этом хранятся вообще фиолетово.

Поэтому причем здесь какая то папка неясно. Формулируйте вопрос четко, поскольку я все равно до конца не понимаю, в чем у вас проблема.
 
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Просто прописываете стили для нужных элементов на странице
Вот это "просто" и подскажите ТС, если знаете.
а в каком файле они при этом хранятся вообще фиолетово
Да? То есть, каждый юзер на каждой странице должен открывать инспектор и править стили, чтобы нормально ее видеть?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

sivers

  • Живу я здесь
  • 2591
  • 360 / 0
Мне нужно создать в папке CSS моего шаблона папку аналогичную той что в оригинале...
Нет, не нужно. Свои стили можно прописывать в любом файле, который подключается на вашем сайте (и расположен у вас же). Смотрите в отладчике (по ф12, инспектор - в фф) к какому селектору привязаны правила стиля, копируйте его (селектор, можно с правилами) в свой файл стилей, скорректируйте под себя правила. Если ваш стиль подключается после родного, то всего описанного будет достаточно. Но лучше удлинить селектор, чтоб придать ему вес. Для этого можно обернуть комментарии в блок с неким ИДом (напр. id="blockComments") и добавить к селекторам слева этот ид. Если было:
Код
.cc .mc-comment-head {
    ....
}
то получится
Код
#blockComments .cc .mc-comment-head {
    ....
}
Если в каких-то правилах у них стоит !important, то оставляйте это и в своих - иначе не перебьются.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

rubinded

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

Знаете, вот из-за таких как вы, которые ходят из темы в тему и только "умничают" пропадает желание вообще задавать вопросы и заходить на форум. Вон люди внизу написали дельные советы, а вы если не знаете как это сделать или лень объяснять, то прошли бы мимо и все. Вы уже текста написали сколько, что можно было 2 раза все подробно объяснить...
*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
обернуть комментарии в блок с неким ИДом (напр. id="blockComments")
ОГРОМНОЕ ВАМ СПАСИБО! Теперь понял! Остался только один вопрос: как обернуть комментарии в блок? Где это прописать? Подскажите пожалуйста. Буду очень признательным!
*

sivers

  • Живу я здесь
  • 2591
  • 360 / 0
как обернуть комментарии в блок?
Для начала надо посмотреть - может там уже есть подходящий блок. А так - либо в макете самих комментов, либо в шаблоне, вокруг вывода позиции комментов (если для них отдельная сделана). Покажите свою страницу лучше.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Вот это "просто" и подскажите ТС, если знаете.Да?
Так что подсказать, как в CSS выбирать элемент на странице? Это и есть азы.

То есть, каждый юзер на каждой странице должен открывать инспектор и править стили, чтобы нормально ее видеть?
Не понял о чем вы? Все будут видеть одинаково все страницы в соответствии с заданными стилями.

Я такое где-то писал? Я писал о том, что не знаю как это сделать! Зачем выдумывать то чего нет?

А это кто писал? Вы же утверждаете, что знаете CSS, а по факту получается, что не знаете.

Но я не знаю как переопределить то, что не находится на сайте...

Я вам тоже самое, что и sivers написал, только без примера, в любом файле главное специфичность и порядок. Чем вас ответ не устраивает?


*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
Покажите свою страницу лучше
Друзья, огромное всем спасибо! Проблема решена. Может кому пригодится выкладываю как все сделал:

1) Создал отдельный файл comments.css и загрузил его в папку CSS своего шаблона.

2) Подключил его через файл index.php своего шаблона
Код
$doc->addStyleSheet('templates/'.$this->template.'/css/comments.css');

3) Взял код Cackle который я интегрировал на сайт и обернул его в блок
Код
<div id="blockComments">

4) В файле comments.css (см. п.1) прописал стиль (тот что нужно изменить) который скопировал через отладчик (Ctrl+Shift+I)

5) Добавил к селекторам слева id "blockComments"

Было так:
Код
.cc .mc-comment-username, .mc-complaint .mc-comment-username {
    color: #2780e3!important;
    font-size: 14px!important;
    font-weight: 600!important;
    vertical-align: top!important;
}

Стало так:
Код
#blockComments .cc .mc-comment-username, .mc-complaint .mc-comment-username {
    color: #2780e3!important;
    font-size: 14px!important;
    font-weight: 600!important;
    vertical-align: top!important;
}

5) В стилях поменял то что мне нужно.

ОГРОМНАЯ БЛАГОДАРНОСТЬ пользователю sivers! Большое спасибо, что откликнулись и все доходчиво объяснили! Вы очень сильно мне помогли! Удачи Вам, здоровья и всего самого наилучшего!
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
3) Взял код Cackle который я интегрировал на сайт и обернул его в блок
И зачем лишний элемент, если и так комментарии выводятся в
Код
<div id="mc-container"></div>
И переопределение стилей начинать с #mc-container
*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
Чем вас ответ не устраивает?
Абсолютно всем не устраивает... У меня была проблема в том, что я не знал как переопределить стили которые не находятся в файлах сайта. Вы начали умничать и говорить мне чтоб я подучил CSS. Если бы у меня было время копаться в матчасти я бы ни у кого не спрашивал. А вот sivers отлично все написал с примерами и благодаря ему я понял где и что мне делать. От вас я только услышал общие рекомендации и совет учить CSS. Уважаемый это не помощь... В общих фразах все описано и на сайте самого Какла. Мне конкретика была нужна... Так сказать направление... И раз уж вы мне давали совет, то позвольте и вам дать свой: Хотите помочь - помогите. Не хотите - не нужно ниченго писать вообще. Помощь общими фразами никому и даром не нужна. Это может помочь в случае если юзер опытный, но опытный и так знает как нужно сделать без чьих либо советов. Удачи вам!
*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
И переопределение стилей начинать с #mc-container
Возможно вы правы... Но работает и так как я сделал. В любом случае спасибо, что нашли время на ответ.
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Интересное кино. Задаете абстрактный общий вопрос и получаете естественно такой же общий ответ, что нужно сделать и с указанием, что необходимо знать CSS, поскольку из вопроса видно, что вы его не знаете. Какой вопрос, такой ответ. После чего вы пишите:
Да и не нужно мне обьяснять азы... Я знаю как переопределить стиль модуля и всего того что установлено на сайте.
Тогда в чем проблема, раз все знаете не ясно. При этом никакой конкретики, вроде ссылки на ваш сайт или примера кода который не работает вы не приводите. А направление вам было дано, то что это может быть в любом файле сказано, про специфичность тоже. Хотите четких ответов, умейте задавать правильные вопросы.
Зато обвиняете меня, что я умничаю, приписываю вам то, что вы не говорили и отбиваю желание посещать форум.
Решили проблему, молодец. В дальнейшей дискуссии участвовать не намерен, все равно каждый останется при своем мнении. Удачи.
*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
Если в каких-то правилах у них стоит !important, то оставляйте это и в своих - иначе не перебьются.

В принципе все получилось переопределить, но некоторые стили не поддаются. Вот например этот:


Код
.cc .mc-comment-vote .mc-comment-like, .cc .mc-comment-vote .mc-comment-dislike


Я прописываю его через ID и получается такое:


Код
#blockComments .cc .mc-comment-vote .mc-comment-like, .cc .mc-comment-vote .mc-comment-dislike {


Но в итоге всеравно родной стиль оказывается выше... Не знаете в чем может быть дело?

http://prntscr.com/r939ab
*

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
Сори за беспокойство. Разобрался. Просто прописал все покороче

Код
#blockComments .cc .mc-comment-vote .mc-comment-dislike {
    display: inline-block!important;
}
*

sivers

  • Живу я здесь
  • 2591
  • 360 / 0
Код

.cc .mc-comment-vote .mc-comment-like, .cc .mc-comment-vote .mc-comment-dislike
Здесь 2 селектора через запятую, соответственно и править надо оба:
Код
#blockComments .cc .mc-comment-vote .mc-comment-like, #blockComments .cc .mc-comment-vote .mc-comment-dislike
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Переопределение значений из шаблона. Возможно ли?

Автор master-smeta

Ответов: 5
Просмотров: 3561
Последний ответ 10.01.2020, 19:48:44
от beliyadm
Вопрос: Переопределение названий через шаблон

Автор psiworm

Ответов: 7
Просмотров: 2631
Последний ответ 11.05.2018, 20:00:48
от psiworm
Проблема с кодировкое в редакторе стилей шаблона Cerulian от RT

Автор Pashulik

Ответов: 33
Просмотров: 3546
Последний ответ 27.04.2015, 17:03:44
от SeBun
Переопределение языковых констант для темплейтов Joomlart

Автор Garun

Ответов: 1
Просмотров: 2304
Последний ответ 07.05.2014, 13:44:49
от AlekVolsk