Новости Joomla

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

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

cha_pa

  • Новичок
  • 4
  • 1 / 0
Я согласен что на почту квитанция ОБЯЗАНА приходить.
Но вот как бы сделать что бы ее можно было и сразу распечатать. У меня в версии 1.03 даже в Firefox не появляется окошко почему-то. Может как то 1.03 после 1.04 неправильно установил?
А вот как насчет идеи что бы на последнем экране, где говорится типа спасибо, с вами свяжутся и т.п. разместить кнопку - "распечатать квитанцию" (если был выбран этот способ оплаты)
Думаю тут не будет блокировки окон, потому как явный клик.
*

XTRO

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
я бы ещё обработку сделал в стр.125 pm_sbrf.php на предмет заполненности Bcc , шоб мейлер не орал, типа
Код
if (!empty($params['pay_Bcc'])) {
$headers .= "Bcc: =?UTF-8?B?". base64_encode($params['pay_FromName'])."?=<". $params['pay_Bcc'].">\r\n";
}
*

BelMary

  • Захожу иногда
  • 87
  • 6 / 0
Установила этот способ оплаты (joomla 1.7, JoomShopping 3.6.1 на локалке) все отлично работает, только не приходит письмо с квитанцией, в чем может быть дело?
*

XTRO

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
...на локалке)..... только не приходит письмо с квитанцией, в чем может быть дело?
надеюсь поле email заполнено и проверяете в директории /tmp/!sendmail (для Денвера), у Endel можно увидеть через панель управления, да и в денвере тоже есть ссылка.
*

BelMary

  • Захожу иногда
  • 87
  • 6 / 0
надеюсь поле email заполнено и проверяете в директории /tmp/!sendmail (для Денвера), у Endel можно увидеть через панель управления, да и в денвере тоже есть ссылка.
Поле заполнено. Стоит Denwer, где найти такую директорию?
*

XTRO

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Стоит Denwer, где найти такую директорию?
WebServers\tmp\!sendmail
*

BelMary

  • Захожу иногда
  • 87
  • 6 / 0
Спасибо! Все нашла.
*

Vyrd

  • Захожу иногда
  • 79
  • 2 / 0
Zet13, спасибо за вкусную плюшку, а решения для юр. лиц у вас нет или может быть в планах?
*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
Zet13, спасибо за вкусную плюшку, а решения для юр. лиц у вас нет или может быть в планах?
http://joomlaforum.ru/index.php/topic,207592.msg1125304.html#msg1125304
*

Aleks45

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Zet13, хотел бы у вас заказать кое какую доработку для этого модуля, напишите пожалуйста мне в личку чтобы обсудить
*

Kostyankin

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Спойлер
[свернуть]
Такая фигня приходит на мыло :( как сделать чтоб все было нормально ? Как сделать чтоб при завершении покупатель мог не только распечатать квитанцию , но и сохранить файлом ее ? на сайте квитанция выглядит нормально .
*

SJA

  • Новичок
  • 3
  • 0 / 0
Sberbank_PD4_joomla2.5_v.1.04.zip[/url] от 5 мая 2012г.

Zet13, есть необходимость для Tienda (Tienda 0.8.0, Joomla 1.5.25) распечатывать квитанцию Сбера - сможете такое сделать? Сотрудничество интересует на платной основе.
*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
Zet13, есть необходимость для Tienda (Tienda 0.8.0, Joomla 1.5.25) распечатывать квитанцию Сбера - сможете такое сделать? Сотрудничество интересует на платной основе.
Да, могу. От Тиенды сам отказался когда-то из-за их тянучки с переходом от Joomla 1,5, а вообще прекрасный магазин... Давайте в личку. Какие сроки вас устроят?
*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
Такая фигня приходит на мыло :( как сделать чтоб все было нормально ? Как сделать чтоб при завершении покупатель мог не только распечатать квитанцию , но и сохранить файлом ее ? на сайте квитанция выглядит нормально .
На работе аврал, извините. Постараюсь до конца этой недели обновить версию...
*

SJA

  • Новичок
  • 3
  • 0 / 0
Давайте в личку. Какие сроки вас устроят?
к сожалению не получится написать в личку - "Вы не можете отправлять личные сообщения". видимо, из-за свежей регистрации, а регистрировалась я только для того, чтобы с Вами связаться по поводу этого модуля.

так что если Вас не затруднит, напишите мне 9161283767 собака mail.ru
*

Sni10

  • Захожу иногда
  • 110
  • 5 / 0
  • I am a law abiding citizen . . .
На работе аврал, извините. Постараюсь до конца этой недели обновить версию...

Дорогой ну мы же не хотим тебя загонять до полусмерти. А сделай то а сделай это. Просто может есть идеи причины таких "оползней". Причем это в основном Япочта. Рамблер и Почтасру отображают хорошо. Шепни на ушко куда копать. Хоть примерно. Авось и сами разберемся. И поможем может чем. Спасибо.

PS пока ковыряю настройки и саппорт Яныка. Чуйка подсказывает что все таки где то там псина закопана.
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
PS: Это первый нормальный модуль оффлайн оплаты под Joomla 2.5. На его базе легко сделать как строгий счет для юрлиц, так и красивый и необычный дизайнерский счет для любого метода офлайн оплаты. В т.ч. можно собрать в одну кучу несколько реквизитов различных платежных систем для самостоятельного выбора пользователем. И при этом не нужны никакие аттестаты продавца :-)
Установил, попробовал сдублировать (сделать дополнительно счет для юр.лиц.) не сработало...
Что делал:
1) переименовываем файл pm_sbrf.php в pm_kaspi.php
2) в файле pm_kaspi.php переименовываем класс в pm_kaspi
3) в файле pm_kaspi.php
Код
function showEndForm($params, $order){
 $kaspi_url = JURI::root(). "index.php?option=com_jshopping&amp;controller=checkout&amp;task=step7&amp;js_paymentclass=pm_kaspi";
4) в файле pm_kaspi.php заменяем
Код
$_sbrfcheck = "JHNicmZfdXJsID0gSlVSSTo6cm9vdCgpIC4gImluZGV4LnBocD9vcHRpb249Y29tX2pzaG9wcGluZyZhbXA7Y29udHJvbGxlcj1jaGVja291dCZhbXA7Y3VzdG9tPTw/cGhwIGVjaG8iLiAkb3JkZXItPm9yZGVyX2lkIC4iPz4mYW1wO3Rhc2s9c3RlcDcmYW1wO2pzX3BheW1lbnRjbGFzcz1wbV9zYnJmIjs=";eval(base64_decode($_sbrfcheck));
на
Код
$_kaspicheck = "
JGthc3BpX3VybCA9IEpVUkk6OnJvb3QoKSAuICJpbmRleC5waHA/b3B0aW9uPWNvbV9qc2hvcHBpbmcmYW1wO2NvbnRyb2xsZXI9Y2hlY2tvdXQmYW1wO2N1c3RvbT08P3BocCBlY2hvIi4gJG9yZGVyLT5vcmRlcl9pZCAuIj8+JmFtcDt0YXNrPXN0ZXA3JmFtcDtqc19wYXltZW50Y2xhc3M9cG1fa2FzcGkiOw==";eval(base64_decode($_kaspicheck));
5) в файле pm_kaspi.php
Код
<form id="2form" method="post" action="<?php echo $kaspi_url ?>"></form>
6) файл paymentform.php
Код
<script type="text/javascript">
function check_pm_kaspi()
{
$_('payment_form').submit();
}
</script>
7) файл update.sql
Код
INSERT INTO `#__jshopping_payment_method` (`name_en-GB`, `payment_code`, `payment_class`, `payment_publish`, `payment_ordering`, `payment_params`, `payment_type`, `price`, `price_type`, `tax_id`, `show_descr_in_email`, `name_ru-RU`, `description_ru-RU`) VALUES
('Kaspi', 'kaspi', 'pm_kaspi', 1, 20, 'pay_Cname=ООО Крокодил Гена', 2, 0.00, 1, 1, 1, 'Крутой банк', '');

Все установилось, но на последнем этапе вылетает ошибка: "Ошибка Платежа"
Режим отладки показывает :
Код
JError::raiseWarning() JROOT/components/com_jshopping/controllers/checkout.php:1024

что соответствует строкам в checkout.php
Код
        if (!$order->payment_method_id){
            saveToLog("payment.log", "#004 - Error payment method id. Order id ".$order_id);
            JError::raiseWarning("", _JSHOP_ERROR_PAYMENT);
            return 0;

Подскажите, куда копать?
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
В какой "последний момент" выскакивает ошибка?
А папка где все эти файлы находятся называется  pm_kaspi?
А так вроде все правильно...
« Последнее редактирование: 12.10.2012, 15:40:37 от Zet13 »
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
А папка где все эти файлы находятся называется  pm_kaspi?
А так вроде все правильно...
Да, именно так и называется. Через установщик JS делалось все.
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
payment_method_id
может в базе глянуть?
Он должен присутствовать в таблице *_jshopping_payment_method и в таблице с конкретным заказом *_jshopping_orders....
Странная ошибка..
Может где опечатка закралась при переименовании?
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
payment_method_id
может в базе глянуть?
Он должен присутствовать в таблице *_jshopping_payment_method и в таблице с конкретным заказом *_jshopping_orders....
Странная ошибка..
Может где опечатка закралась при переименовании?
_jshopping_payment_method

_jshopping_orders


Отпечатка исключена на 99.9999999%....

Режим отладки показывает следующее
Цитировать
Ошибка Платежа
Call stack
#   Function   Location
1   JSite->dispatch()   JROOT/index.php:42
2   JComponentHelper::renderComponent()   JROOT/includes/application.php:197
3   JComponentHelper::executeComponent()   JROOT/libraries/joomla/application/component/helper.php:351
4   require_once()   JROOT/libraries/joomla/application/component/helper.php:383
5   JController->execute()   JROOT/components/com_jshopping/jshopping.php:29
6   JshoppingControllerCheckout->step7()   JROOT/libraries/joomla/application/component/controller.php:761
7   JError::raiseWarning()   JROOT/components/com_jshopping/controllers/checkout.php:1024
8   JError::raise()   JROOT/libraries/joomla/error/error.php:276
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

Vliv

  • Новичок
  • 5
  • 0 / 0
Zet13, низкий поклон за плагин, доделаю магазин - отблагодарю через кнопку в админке)). Но проблема у меня вот такая. Стоит у меня JoomShopping 3.11.4, Joomla 2.5.6, все работает отлично, но на почту приходит вот такая хреновина:

Буду благодарен, если подскажешь где ковырять и что именно, т.к. я мало понимаю в стилях и php, да и времени в обрез.
*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
Zet13, разобрался. Все арбайтен! :)
Осталось саму форму допилить, чтобы товары перечислялись...
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
Что
Zet13, разобрался. Все арбайтен! :)
Осталось саму форму допилить, чтобы товары перечислялись...
Что было?
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
Что было?
Похоже где-то в одном месте, в слове "kaspi", PuntoSwitcher буковку "а" на буковку "а" поменял.... :)
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
 Коварная программа :-)
*

staticway

  • Захожу иногда
  • 167
  • 0 / 0
  • Мыслю простенько и со вкусом
Обновил версию с 1.04 до 1.05 результаты не изменились, в Опере 12.02 Квитанцию не выводит вообще, в IE8 выводит на секунду, потом перебрасывает на страницу завершения заказа, распечатать не дает.
В Хроме дает распечатать, так же как и в FF, копии приходят, хотя и не сразу, но это скорее зависит от хостера, как бы поправить, чтоб была возможность и распечатывать в IE и Опере, да и ещё несколько раз в квитанции криво отображаются несколько цифр в ИНН

*

Zet13

  • Захожу иногда
  • 111
  • 28 / 0
04 от 05 отличается только тем что приходит на почту.
Квитанция должна показываться, потом появляется стандартный диалог печати для распечатки, и страница перегружается на страницу завершения заказа. Так и должно быть. Если пользователь может и хочет распечатать он печатает сразу. Если нет - потом печатает из письма.
Остальное проверю.
*

staticway

  • Захожу иногда
  • 167
  • 0 / 0
  • Мыслю простенько и со вкусом
Цитировать
Квитанция должна показываться
В том то и дело, что в Опере вообще не показывается(все блокировки выключены, разрешены всплывающие окна), а в IE8 только на секунду.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Оплата Uniteller

Автор lenaERT92

Ответов: 1
Просмотров: 2225
Последний ответ 04.07.2022, 20:00:06
от nevigen
[Скачать] Оплата через WebPay.by

Автор ViktorMah

Ответов: 37
Просмотров: 6997
Последний ответ 30.12.2021, 14:38:35
от zhalevich
Онлайн оплата по QR-коду

Автор Simply

Ответов: 0
Просмотров: 2320
Последний ответ 12.12.2021, 11:30:52
от Simply
Форма доставки (расширение класса ShippingFormRoot)

Автор RADIOFAN

Ответов: 4
Просмотров: 1124
Последний ответ 13.03.2020, 19:29:49
от gartes
Оплата через Сбербанк Online

Автор Mick_20

Ответов: 2
Просмотров: 2607
Последний ответ 14.02.2019, 09:46:30
от MichailPickStyle