Новости 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 Ответов
  • 8953 Просмотров
*

sawork

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Что было сделано:

1) Добавил два новых поля в файл "components/com_contact/views/contact/tmpl/default_form.php"
Код
<!------------------------------------------------------------------------------------------------------>
<label id="contact_companymsg" for="contact_company">
<?php echo JText::_( 'Company name' );?>
</label>
<br />
<input type="text" name="company" id="contact_company" size="30" class="inputbox required"  maxlength="100" />
<br />
<!----------------------------------------------------------------------------------------------------->
<label id="contact_phonemsg" for="contact_phone">
<?php echo JText::_( 'Company phone' );?>
</label>
<br />
<input type="text" name="phone" id="contact_phone" size="30" class="inputbox required"  maxlength="100" />
<br /><br />
<!------------------------------------------------------------------------------------------------------>

2) В фале "language/ru-RU/ru-RU.com_contact.ini" добавил
Код
COMPANY NAME=Название Вашей компании:
COMPANY PHONE=Контактный телефон:

3) В файле "/components/com_contact/controller.php" после
Код
$emailCopy= JRequest::getInt( 'email_copy', 0,	'post' );
добавил
Код
$company= JRequest::getVar( 'company', 	'',	'post' );
$phone = JRequest::getVar( 'phone', '', 'post' );
Строку
Код
$body 	= $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n".stripslashes($body);
для нормального вывода сообщения в письме, заменил на
Код
$body 	= $prefix."\n".JText::_( 'Company name' ).$company."\n".JText::_( 'Company phone' ).$phone."\n".JText::_( 'Enter your name' ).$name."\n".JText::_( 'Email address' ).$email."\r\n\r\n".stripslashes($body);

4) В файле components/com_contact/views/contact/tmpl/default_address.php заменил код
Код
<?php echo $this->escape($this->contact->misc); ?>
на
Код
<?php echo $this->contact->misc; ?>
Это было необходимо, чтобы через Админ-панель, можно было писать html и javascript в поле "Дополнительная информация"

5) Добавил 2 новых поля в БД чере phpmyadmin с помощью запросов
Код
ALTER TABLE `jos_contact_details` ADD `company` VARCHAR( 250 ) NOT NULL ;
ALTER TABLE `jos_contact_details` ADD `phone` VARCHAR( 250 ) NOT NULL ;

P.S.
joomla 1.5.11
Пример работы компонента.
Особые благодарности за помощь, пользователям:
beliyadm
Виталик
« Последнее редактирование: 28.06.2009, 18:09:58 от sawork »
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Новое поле в com_contact
« Ответ #1 : 23.06.2009, 23:41:46 »
а в базу данных поля добавили?
« Последнее редактирование: 23.06.2009, 23:57:13 от Виталик »
*

sawork

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Новое поле в com_contact
« Ответ #2 : 23.06.2009, 23:45:48 »
а в базу данных поля дабавили?
К сожалению нет, подумал что это нужно сделать но не нашол куда именно, и если можно, поподробнее, как это сделать, знаю что через phpmyadmin...
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
*

sawork

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Новое поле в com_contact
« Ответ #4 : 24.06.2009, 00:22:33 »
Ну, в общем, разобрался и все получилось, теперь в моей форме 2 новых поля с номером телефона и названием фирмы, все отправляется и чудесно работает!

Теперь хотелось бы узнать, в каком файле нужно копаться, чтобы сделать их обязательными к заполнению?  Чтобы красным становились, если не заполнено!
« Последнее редактирование: 27.06.2009, 14:06:53 от sawork »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

sawork

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Новое поле в com_contact
« Ответ #6 : 27.06.2009, 16:06:53 »
АААААААААААААААА Получилось!!!
beliyadm
Виталик
Огромное вам спасибо!!!

Может еще кто подскажет, где смотреть, чтоб поле "Информация" могло не только обычный текст принемать, но и скрипты...
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Новое поле в com_contact
« Ответ #7 : 27.06.2009, 16:12:00 »
надо добавить четвёртый параметр JREQUEST_ALLOWRAW

JRequest::getVar('description''''POST'JREQUEST_ALLOWRAW)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Новое поле в com_contact
« Ответ #8 : 27.06.2009, 16:13:18 »
Всегда пожалста
Может еще кто подскажет, где смотреть, чтоб поле "Информация" могло не только обычный текст принемать, но и скрипты...
какие именно скрипты и зачем? может проще организовать отправку вложений (писал про это в блоге)?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

sawork

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Новое поле в com_contact
« Ответ #9 : 27.06.2009, 16:43:58 »
Я наверное не совсем правильно выразился...
Мне нужно, чтоб можно было вставлять скрипты, js или html в поле "Дополнительная информация" в Админке
Это необходимо, ну например для того, чтобы можно было вставить карту проезда...
*

sawork

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Новое поле в com_contact
« Ответ #10 : 28.06.2009, 14:45:20 »
Решение найдено!
В файле components/com_contact/views/contact/tmpl/default_address.php заменил код
Код
<?php echo $this->escape($this->contact->misc); ?>
на
Код
<?php echo $this->contact->misc; ?>
*

Haoss

  • Новичок
  • 2
  • 0 / 0
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #11 : 08.07.2009, 00:24:49 »
Мужики есть вопросик, не в тему, но рядом! Стандартный компонент контакты, выводится 2 частями - верхняя, где указываются данные, и нижняя - сама форма обратной связи. Имеется ширина 770px, нужно эту саму форму вставить рядом с верхней частью, т.е. все в 2 колонки. Нашел, установив border 1 увидел 2 колонки = 50%, в левой, где выводится информационная часть все нормально, ужалось, в правой пусто. Если в правую, добавить вывод адрессной формы, т.е. то что в левой - все нормально, в 2-х колонках и ни куда не уезжает. Нижнюю форму - электронную, по размеру поля подогнал под верхние, но если ее вставить в правую колонку, она автоматом съезжает в нижнюю. Т.Е. как буд-то не вписывается в размеры, при этом самих размеров в default_email (как пишется не припомню) вообще не нашел. Помогите пожалуйста!
*

vitash

  • Захожу иногда
  • 63
  • 5 / 0
  • """"""::::::""""""
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #12 : 01.08.2009, 03:13:00 »
Решение найдено!
В файле components/com_contact/views/contact/tmpl/default_address.php заменил код
Код
<?php echo $this->escape($this->contact->misc); ?>
на
Код
<?php echo $this->contact->misc; ?>

А если в J 1.5.14 такого именно
Код
<?php echo $this->escape($this->contact->misc); ?>

 нет, тогда что нужно изменить ?
*

alex85

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #13 : 19.08.2009, 19:19:04 »
Добрый день. Вопрос  следующего характера: в админке компонента контакты имеется фильтр работающий с именами контактов, вещь довольно неплохая и удобная.  Так вот каким образом привязать такую возможность уже к интерфейсу пользователя (в отображении категории контактов ). А так же добавить возможность фильтра по другим полям, например “должность.”
*

anbarter

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #14 : 21.12.2009, 23:46:07 »
Народ подскажите плииз. Как реализовать след. решение компонента контактов??

http://wizard-systems.org/index.php?option=com_contact&view=contact&id=1&Itemid=15
*

anbarter

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #15 : 21.12.2009, 23:49:34 »
В 1.5.14 не получается реализовать так.

Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #16 : 15.01.2010, 11:33:07 »
Решение найдено!
В файле components/com_contact/views/contact/tmpl/default_address.php заменил код
Код
<?php echo $this->escape($this->contact->misc); ?>
на
Код
<?php echo $this->contact->misc; ?>

Взаимный вопрос: в версии 1.5.15 нет такой строки <?php echo $this->escape($this->contact->misc); ?> в файле components/com_contact/views/contact/tmpl/default_address.php

Уважаемый sawork, подскажите, что нужно исправить, чтобы можно было вставлять код с яндекса к примеру, как у Вас?

Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #17 : 09.07.2010, 18:24:36 »
Да.... крутил вертел так и так ничего не вышло.
Мне нужно, чтоб можно было вставлять скрипты, js или HTML в поле "Дополнительная информация" в Админке
Это необходимо, ну например необходимо добавить код плагина в поле "Дополнительная информация" {yandexmaps view=map|id=1}  он выводит его текстом, хотя в статьях работает  и выводиться карта.... Помогите решить проблему буду очень благодарен
*

ZlyddeN

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #18 : 24.08.2010, 11:22:55 »
а можно ли добавить поля, не задействовав базовые компоненты? например плагином?
интересует только форма обратной связи , в БД ничего вносить не требуется

VIEW - то я подправлю, добавлю поля, а вот чтобы это все проверялось и в письма добавлялось....

и еще - где храниться шаблон генерируемого письма  и можно ли это привязать к шаблону сайта?
« Последнее редактирование: 24.08.2010, 11:30:27 от ZlyddeN »
*

ZlyddeN

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #19 : 24.08.2010, 11:35:48 »
Продолжаю :)
т.е. нужен системный плагин, который будет перехватывать отправку формы... я правильно мыслю? :D
*

vitash

  • Захожу иногда
  • 63
  • 5 / 0
  • """"""::::::""""""
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #20 : 06.10.2010, 19:18:31 »
Не буду удаляться далеко от темы. ;) Видно с опытом времени получилось. :D
Имеем: Joomla 1.5.20
Браузеры:MF, O, IE(+режим совместимости), S.
Самое интересное что у меня в MFirefox поля не добавлялись, если вставлял код, как описано выше:
Код
<!------------------------------------------------------------------------------------------------------>
...
<!----------------------------------------------------------------------------------------------------->
...
вся зацепка была почему, сам не знаю в этом: <!-- -->, возможно из-за какого нибудь плагина, установленного в браузере.

Все делаем как написано rubiroide вначале темы, кроме пункта 4.
После этого проверяем ч.з. фтп, как в моем случае, на наличие шаблонного компонента:
_http://мой_сайт/templates/название_шаблона/html/com_contact/contact/
И если такие имеются, то заменяем в папке те же файлы: default_address.php и default_form.php , в моем случае шаблон обратной связи стандартный, т.е. были шаблонные файлы, я их просто заменил.
Пример можно посмотреть тут.
*

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #21 : 27.11.2010, 17:11:24 »
Взаимный вопрос: в версии 1.5.15 нет такой строки <?php echo $this->escape($this->contact->misc); ?> в файле components/com_contact/views/contact/tmpl/default_address.php

Уважаемый sawork, подскажите, что нужно исправить, чтобы можно было вставлять код с яндекса к примеру, как у Вас?



там есть другая строка - <?php echo nl2br($this->contact->misc); ?> я ее заменил, и все заработало. правда остается не ясно - что означает nl2br?
*

user1

  • Новичок
  • 2
  • 0 / 0
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #22 : 25.11.2011, 15:16:30 »
Как Добавить 2 новых поля в БД чере phpmyadmin с помощью запросов я что не догоняю
ALTER TABLE `jos_contact_details` ADD `company` VARCHAR( 250 ) NOT NULL ;
ALTER TABLE `jos_contact_details` ADD `phone` VARCHAR( 250 ) NOT NULL ;
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: [Решено] Новое поле в com_contact+joomla 1.5.11
« Ответ #23 : 25.11.2011, 16:44:17 »
заходите в phpMyAdmin, выбираете свою базу, открываете вкладку SQL и вставляете текст запроса.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 3674
Последний ответ 12.11.2023, 23:37:03
от all_zer
Нужно wiki под Joomla

Автор THE KILLERS

Ответов: 9
Просмотров: 9557
Последний ответ 05.11.2020, 20:56:47
от Kijv
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2045
Последний ответ 14.08.2020, 07:16:44
от rsn
[Решено] Проблема с авторизацией Invalid Token

Автор treX

Ответов: 100
Просмотров: 96500
Последний ответ 06.10.2019, 16:55:45
от PaLyCH
Не могу войти в админку Joomla 1.5

Автор MrSkif

Ответов: 14
Просмотров: 10417
Последний ответ 12.09.2018, 19:36:32
от PaLyCH