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

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Здравствуйте

При публикации материала указывается время создания, кто добавил, иконки e-mail, pdf и т.д. Они расположенны определенным образом. Мне надо изменить их положение, например - дата публикации статьи и пользователь добавивший указанны в верхнем левом углу, а я хочу в правом нижнем.

Это можно изменить при помощи админцентра или тут уже необходима правка шаблона?
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Странно.. Казалось бы такой вопрос, а ответить некому  !

Возможно с другим вопросом поможете. Шаблон в минималистском стиле. Белый. Материалы выводятся на главной сплошной лентой (короткие посты). Как сделать чтобы текст отображался на поле другого цвета. Для контрастности.

Ждёмс ответ)
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Это можно изменить при помощи админцентра или тут уже необходима правка шаблона?

Разумеется, в шаблоне. Вот тут я писал об изменении календаря (ТЫЦ). По аналогии смотрите и делайте кнопки печати, пдф-а и пр...
« Последнее редактирование: 23.07.2011, 07:34:04 от Dorfman »
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Цитировать
/html/com_content/article/default.php

У меня нет такого файла. Где и как создать папки понятно, но откуда взять сам файл я найти не могу. Совсем первые шаги. Так же, скажите, какой программой открывать этот файл.

*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
У меня нет такого файла. Где и как создать папки понятно, но откуда взять сам файл я найти не могу.

Уважаемый, я же чётко написал:
Кстати, если кому-то будет полезным:
открываем файл
templates/_ваш шаблон_/html/com_content/article/default.php (СЮДА ЕГО НУЖНО ПОЛОЖИТЬ)
Если такого файла нет - создаём папки для этого файла, сам же файл берём из
_JOOMLA ROOT_\components\com_content\views\article\tmpl\default.php (ОТСЮДА ЕГО НУЖНО ВЗЯТЬ)

По поводу остальных файлов - нужно обязательно делать правки (по аналогии) в файлах:
1) _JOOMLA ROOT_\components\com_content\views\category\tmpl\default_item.php (ОТСЮДА ЕГО НУЖНО ВЗЯТЬ)
templates/_ваш шаблон_/html/com_content/category/blog_item.php(СЮДА ЕГО НУЖНО ПОЛОЖИТЬ)

2) _JOOMLA ROOT_\components\com_content\views\frontpage\tmpl\default_item.php (ОТСЮДА ЕГО НУЖНО ВЗЯТЬ)
templates/_ваш шаблон_/html/com_content/frontpage/default_item.php(СЮДА ЕГО НУЖНО ПОЛОЖИТЬ)

3) _JOOMLA ROOT_\components\com_content\views\section\tmpl\blog_item.php(ОТСЮДА ЕГО НУЖНО ВЗЯТЬ)
templates/_ваш шаблон_/html/com_content/section/blog_item.php(СЮДА ЕГО НУЖНО ПОЛОЖИТЬ)

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

Код
<!--число--><?php echo JHTML::_('date', $this->article->created, JText::_('%d'))?>

То на frontpage будет уже выводиться так:

Код
<!--число--><?php echo JHTML::_('date', $this->item->created, JText::_('%d'))?>

Ищите аналогичные строки в конкретных файлах и подставляйте выражения в ту конструкцию, которую я привёл.
« Последнее редактирование: 24.07.2011, 00:33:35 от Dorfman »
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Ладно, прилагаю файлы, которые используются в моём шаблоне. Создайте папочку HTML в папке вашего шаблона и скопируйте папку com_content из приложенного архива. Потом скопируйте файл autorblock.png в папку images Вашего шаблона. Затем откройте Блокнотом css-файл из архива, скопируйте его содержимое и вставьте этот код в конец одноимённого файла в вашем шаблоне
(он здесь: templates\Ваш_шаблон\css\template.css).

Ещё раз предупреждаю: этот код я делал исключительно под свои задачи и он не является идеальным для всех случаев. Выкладываю исключительно в ознакомительных и познавательных целях. Разберётесь с этим - сможете написать шаблон вывода статей "под себя".

[вложение удалено Администратором]
« Последнее редактирование: 24.07.2011, 00:31:19 от Dorfman »
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Ещё раз предупреждаю: этот код я делал исключительно под свои задачи и он не является идеальным для всех случаев. Выкладываю исключительно в ознакомительных и познавательных целях. Разберётесь с этим - сможете написать шаблон вывода статей "под себя".

Спасибо большое.. Но удалось только механически повторить. Поля дата и время теперь на синем фоне. Вся беда в том, что файл css-файл я открыл первые в жизни и что-то осмысленно туда добавил. По аналогии сделать не могу, т.к. просто не представляю где в коде искать нужные строки и что туда писать.

Можете подсказать, что нужно дописать, чтобы текст отображался на подложке другого фона. И где искать кусок когда который отвечает за положение иконок.

*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
за вывод иконки печати отвечает вот этот фрагмент:
Код
		<?php if ( $this->params->get( 'show_print_icon' )) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.print_popup',  $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>

Разумеется, теги таблицы нужно проверять в соответствии с тем, что Вы хотите получить на выходе (в этих файлах всё построено на таблицах).

Кнопка ПДФ-а:

Код
		<?php if ($this->params->get('show_pdf_icon')) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.pdf',  $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>

Кнопка мыла:

Код
		<?php if ($this->params->get('show_email_icon')) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.email',  $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>

Кнопка редактирования:

Код
		<?php if ($canEdit) : ?>
<td align="right" width="100%" class="buttonheading">
<?php echo JHTML::_('icon.edit', $this->article, $this->params, $this->access); ?>
</td>
<?php endif; ?>
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Код
/* ========== content ======================*/
span.article_separator {
display: block;
height: 20px;
}
.article_column{padding-right:15px;}
.column_separator {padding-left:15px; padding-right: 0;}
td.buttonheading img {
border:none;
}
.contentpaneopen ul {margin:10px 0px 10px 20px;}
.contentpaneopen p img{margin:0 10px;}

.contentpaneopen p {text-align: justify;}
.contentpaneopen li {
margin-bottom: 5px;
}

У меня вот так.. Какие значения надо поменять, чтобы переместить кнопку из верхнего левого угла в правый нижний. Но хочу я изменить положение поля "добавил ...". Остальные параметры у меня отключены в глобальных настройках материалов.

Dorfman, большое спасибо. Я просто не знаю, как добавить репутацию. А может надо набрать необходимое количество постов. В любом случае спасибо!
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
CSS в данном случае отвечает за выравнивание, а не за позиционирование. Поэтому все основные правки надо делать в основном в файлах blog_item.php, default_item.php и default.php (см. мессагу с красными выделениями). Для упрощения задачи разберись с хтмл в части формирования таблицы, возьми Dreamweaver и сформируй таблицу с выводом полей как тебе надо. Потом просто в нужные ячейки вставь нужный код - вот статья и готова.

ЗЫ по репутации - дык там по-моему надо иметь 10 или 20 постов, чтоб можно было на плюсик нажимать
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Кстати, если проект планируется коммерческий - могу сделать за разумную цену
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Для упрощения задачи разберись с хтмл в части формирования таблицы, возьми Dreamweaver и сформируй таблицу с выводом полей как тебе надо. Потом просто в нужные ячейки вставь нужный код - вот статья и готова.

Т.е. файлы надо скопировать и отредактировать. Как их исправить? Надо исправить поле "добавил". Переместить его в правый нижний угол. Как мне найти его в коде, по какому значению?


Кстати, если проект планируется коммерческий - могу сделать за разумную цену

Желание именно научится.
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Ну, базовую информацию я дал - учись!
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Ладно...

Последняя подсказка, дальше - самостоятельно:

Код
		<?php JText::printf( ($this->escape($this->article->created_by_alias)? $this->escape($this->article->created_by_alias) : $this->escape($this->article->author)) ); ?>

Именно этот код отвечает за вывод автора. Логику включи: если написано ->author, значит, это и есть искомое.

*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Ну, базовую информацию я дал - учись!

По-любому - спасибо! Правда, вроде де бы простые вопросы дали понять всю глубину темы, которую предстоит изучить. Увиделись совсем другие горизонты до которых надо дотянуться.
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
самое главное - понять принцип. Чтобы сварганить вывод статьи по-своему, не обязательно знать php - главное правильно сформировать html-таблицу и вывести фрагменты кода в нужные ячейки. Удачи в полезных начинаниях!
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
самое главное - понять принцип. Чтобы сварганить вывод статьи по-своему, не обязательно знать php - главное правильно сформировать html-таблицу и вывести фрагменты кода в нужные ячейки. Удачи в полезных начинаниях!

Это было ясно изначально. Теперь активно осваиваю на практике. Хостинга у меня нет, просто установил денвер. Сам принцип управления контентом я понял. Тут надо пробовать, так, эдак. Как будет выглядеть, разные блоки, модули и т.д. Как говорится - набить руку и свободно ориентироваться.

Но столкнулся с проблемой совсем другого рода... Я сделал три папки для трех сайтов. Соответственно устанавливал в каждой дистрибутив Joomla, устанавливал туда разные шаблоны, JCE установил. Все работает, все замечательно, изучаю полным ходом. Но, когда попытался посмотреть и освежить, что делал изначально, то включая сайты расположенные в первых двух папках, увидел - они отображают, то, что сделал в третьей. Ни тех шаблонов, что устанавливал, ни материалов.

Какой-то ценности все мои изначальные творения не имели. Все делалось для тренировки. Но очень хочется понять - почему?! Чтобы впредь не было такого.

Мне кажется это что-то с базами данных.
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Вряд ли это что-то с БД. Скорее всего это типичные ошибки, допущенные при установке. Если всё правильно, структура папок должна быть такой:
DENVER_ROOT\localhost\site1\www\(тут вся файловая структура Жумлы для сайта site1)
DENVER_ROOT\localhost\site2\www\(тут вся файловая структура Жумлы для сайта site2)
DENVER_ROOT\localhost\site3\www\(тут вся файловая структура Жумлы для сайта site3)

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

И не забываем перезапускать сервер почаще (ну, это на всякий случай)
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Разумеется, при установке каждого сайта имя базы данных должно быть уникальным!

Разобрался. Спасибо! Я так понимаю, что один пользователь (у меня admin), а баз данных (db, db1, db2, ....) много.
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Ну да, для каждого сайта своя БД должна быть. а admin из 1-го сайта и с остальных - это абсолютно разные пользователи, просто Жумла всем ставит одинаковые имена по умолчанию - admin.
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Ну да, для каждого сайта своя БД должна быть. а admin из 1-го сайта и с остальных - это абсолютно разные пользователи, просто Жумла всем ставит одинаковые имена по умолчанию - admin.

Спасибо. Тут только одно -опыт - сын ошибок трудных. Меня несколько смущает ситуация с БД  - не запороть бы все это при переносе на хостинг. Хотя к этому вопросу еще не подошел.
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
на хостинг надо сделать дамп (бэкап) и перенести Ту базу, с которой работаешь. Если перенёс не ту - ну и по фиг, стёр её и воткнул другую! Вот и весь подход. Бояться не надо!
*

nikish

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
на хостинг надо сделать дамп (бэкап) и перенести Ту базу, с которой работаешь. Если перенёс не ту - ну и по фиг, стёр её и воткнул другую! Вот и весь подход. Бояться не надо!

Ну, это следующий этап. Теперь пытаюсь разобраться с наполнением (ТЫЦ)
« Последнее редактирование: 02.08.2011, 17:41:46 от nikish »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменение JA Purity

Автор green45

Ответов: 71
Просмотров: 41107
Последний ответ 01.01.2016, 14:39:28
от Naum
Поставить картинку как фон материала

Автор VisedFAQ

Ответов: 10
Просмотров: 5671
Последний ответ 01.04.2014, 16:55:22
от ShfVD
Изменение ширины позиций под модули в шаблоне ICKI Sports Gavick

Автор Outstanding

Ответов: 4
Просмотров: 1919
Последний ответ 14.07.2013, 23:49:27
от Outstanding
Растягивается картинка материала по-вертикали

Автор skyes

Ответов: 2
Просмотров: 2991
Последний ответ 04.06.2013, 11:11:50
от darkghost
Пропали иконки pdf печать и т.д. в верху материала

Автор DragDG

Ответов: 6
Просмотров: 4269
Последний ответ 05.04.2013, 20:18:11
от DragDG