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

Nikoz

  • Захожу иногда
  • 115
  • 4 / 0
как убрать страницу подтверждения заказа? она не нужна..
Просто нажал "оформить заказ" и все
*

Ilya Kochnev

  • Новичок
  • 9
  • 0 / 0
Re: Отключить подтверждение заказа
« Ответ #1 : 12.05.2012, 07:46:55 »
Присоединяюсь к вопросу, теме ап.
*

Stechkin

  • Новичок
  • 8
  • 1 / 0
Re: Отключить подтверждение заказа
« Ответ #2 : 14.05.2012, 01:38:24 »
блин, тоже надо!! зачем лишний раз кликать по кнопке
*

bunak

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Re: Отключить подтверждение заказа
« Ответ #3 : 14.05.2012, 17:55:39 »
Привет всем. Немного решил этот вопрос методом отключения Оформить заказ. Т.е. при входе в корзину покупатель попадает сразу в подтверждение.
Вроде получилось смотрите
http://forum.virtuemart.net/index.php?topic=92103.msg340730#msg340730
*

Artyomii

  • Захожу иногда
  • 331
  • 10 / 5
Re: Отключить подтверждение заказа
« Ответ #4 : 29.11.2012, 22:24:53 »
Привет всем. Немного решил этот вопрос методом отключения Оформить заказ. Т.е. при входе в корзину покупатель попадает сразу в подтверждение.
Вроде получилось смотрите
http://forum.virtuemart.net/index.php?topic=92103.msg340730#msg340730
это конечно все хорошо, только вот после регистрации шаг возвращает повторно на ту же страницу подтверждения заказа.
может кто решил все таки как избавится от третьего шага подтверждения заказа, т.е. отправка сразу после регистрации?
« Последнее редактирование: 30.11.2012, 00:41:17 от Artyomii »
*

festLethal

  • Захожу иногда
  • 64
  • 1 / 0
Re: Отключить подтверждение заказа
« Ответ #5 : 01.02.2013, 08:33:22 »
присоединяюсь к вопросу
*

festLethal

  • Захожу иногда
  • 64
  • 1 / 0
Re: Отключить подтверждение заказа
« Ответ #6 : 05.02.2013, 09:45:36 »
Не верю, что никто не делал ранее...
*

festLethal

  • Захожу иногда
  • 64
  • 1 / 0
Re: Отключить подтверждение заказа
« Ответ #7 : 06.02.2013, 08:29:56 »
В общем в той теме нашел ответ, кому нужно, сработал такой способ

в файле /components/com_virtue_mart/controllers/cart.php

Поправил редирект, должно быть вот так:

if ($cart->getInCheckOut()) {
            $app = JFactory::getApplication();
            $app->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart&task=confirm'), $msg);
         }
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Re: Отключить подтверждение заказа
« Ответ #8 : 23.12.2013, 08:08:10 »
плюсанул, но рано, не работает в последней версии VirtueMart твой способ

там три этих функции getInCheckOut в файле, в какой именно править?
« Последнее редактирование: 23.12.2013, 08:25:37 от Ingener »
*

kolodiazniy

  • Захожу иногда
  • 110
  • 13 / 0
Re: Отключить подтверждение заказа
« Ответ #9 : 20.06.2014, 22:45:30 »
Избавиться от лишней страницы на этапе заказа - дело правильное.
Но почему вы все хотите отключить именно подтверждение?!
Подтверждение является финальной стадией продажи, вызывающей функции отправки письма покупателю и т.д.
Не проще ли избавиться от "оформления заказа"?
*

st_jimmy96

  • Осваиваюсь на форуме
  • 47
  • 5 / 0
Re: Отключить подтверждение заказа
« Ответ #10 : 18.09.2015, 07:06:29 »
Для последних версий VirtueMart подходит следующий вариант:
в файле components\com_virtuemart\views\cart\tmpl\default.php
последней строчкой (где скрытые инпуты идут) добавить свой: <input type='hidden' name='task' value='confirm'/>
В таком случае подтверждение заказа будет совершаться автоматически.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Re: Отключить подтверждение заказа
« Ответ #12 : 23.08.2017, 01:29:45 »
Для последних версий VirtueMart подходит следующий вариант:
в файле components\com_virtuemart\views\cart\tmpl\default.php
последней строчкой (где скрытые инпуты идут) добавить свой: <input type='hidden' name='task' value='confirm'/>
В таком случае подтверждение заказа будет совершаться автоматически.
Работает! +++
*

smls

  • Захожу иногда
  • 137
  • 8 / 1
Re: Отключить подтверждение заказа
« Ответ #13 : 20.01.2023, 13:48:07 »
В 4 версии не работает.
 Пишет "Внимание Ваша корзина не изменилась"
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart -- создание заказа

Автор mindguru

Ответов: 3
Просмотров: 1701
Последний ответ 02.11.2023, 13:59:05
от mindguru
Скачать - Плагин заказа на 1 странице

Автор gartes

Ответов: 171
Просмотров: 28340
Последний ответ 17.05.2023, 15:06:22
от mansonfaust
Валидация дополнительного поля при оформлении заказа

Автор Helikonst

Ответов: 2
Просмотров: 2231
Последний ответ 04.12.2022, 14:21:41
от Helikonst
Плагин отправки SMS - смена статусов заказа

Автор artlux

Ответов: 43
Просмотров: 12458
Последний ответ 20.03.2021, 14:03:13
от nnnata
Передача сумы заказа в Google аналитику при покупке в 1 клик

Автор viper_demyan

Ответов: 5
Просмотров: 2651
Последний ответ 30.05.2020, 20:52:59
от draff