Новости Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 Подпишись на @joomlafeed.#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

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

holovla

  • Захожу иногда
  • 101
  • 0 / 0
Доброго дня
Поставил редиректы с index.php /html на главную чтобы убить дубли главной
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.site.ru [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.site.ru [R=301,L]

НО перестала работать корзина , не обновляет и не удаляет товар ,залипает товар итд
если убрать редирект то все отлично

Помогите решить вопрос пожалуйста :'(
заранее спасибо  *DRINK*
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
У вас корзина получается доступной по 2-ум адресам. /index.php и /страница_корзины. Я это исправлял так:
в шаблон вывода корзины вставить
Цитировать
<?php $redirectlink = '/страница_корзины';$sv = $_SERVER['REQUEST_URI'];$app = JFactory::getApplication(); if ($page=='shop.cart' && $sv != $redirectlink) $app->redirect($redirectlink); ?>
P.S. "страница_корзины" естественно поменять на реальную ссылку.
« Последнее редактирование: 18.04.2013, 03:04:38 от Efanych »
Создание сайтов, шаблонов, помощь в решении проблем.
*

holovla

  • Захожу иногда
  • 101
  • 0 / 0
спасибо за ответ
тоже нашел на забугорном форуме вариант решения
может кому то поможет

Change administrator/components/com_virtuemart/html
line 133 /* UPDATE CART / DELETE FROM CART */
$action_url = $mm_action_url.basename($_SERVER['PHP_SELF']);
change to ;
$action_url = 'index.php?page=shop.cart&option=com_virtuemart&Itemid='.$sess->getShopItemid();

« Последнее редактирование: 07.08.2012, 13:32:11 от holovla »
*

polyKARP

  • Новичок
  • 7
  • 0 / 0
Efanych
Цитировать
У вас корзина получается доступной по 2-ум адресам. /index.php и /страница_корзины. Я это исправлял так
Здравствуйте ув.Efanych. Точно такая же проблема. Поставил редирект с index.php на не index.php вот таким образом:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://drvinyl.ru/ [R=301,L]

все отлично сработало, но корзина больше не отвечает...мои скромные познания позволили предположить, что редирект ее тоже перекидывает, так как если его отключить все возвращается на место...3-и сутки сижу и бьюсь в обнимку с гуглом вводя разные запросы и на этом форуме нашел одно решение с правкой нескольких файлов, но оно не сработало...и вот, похоже, Ваше спасительное решение!!(и такое простое)!!

Не сможете-ли немного подробнее разжевать чайнику ушастому где находится файл шаблона вывода корзины?
куда собственно вставить код (просто в конец прикопипастить??) и страница корзины в коде с /index.php или без? вот собственно похоже что все вопросы. (Joomla 1.5+VMart 1.1,9) (если сработает, то к сожалению webкошельками не знаю как пользоваться (хотя и это можно освоить), а вот по PayPal вменяемую сумму с удовольствием перечислю.
С Ув.
polyKARP



*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Этот редирект я для каких-то других целей придумывал, уже и не вспомню...
В данном случае он скорее всего не поможет...
Попробуйте такой вариант
Создание сайтов, шаблонов, помощь в решении проблем.
*

polyKARP

  • Новичок
  • 7
  • 0 / 0
спасиБ! что так быстро ответили, но именно этот вариант с правкой нескольких файлов я и пробовал
к сожалению он не подошел
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Ну, попробуйте вставить мой код, может и сработает...
Шаблон корзины где-то тут
components\com_virtuemart\themes\default\templates\basket\basket_b2b.html.php
или
components\com_virtuemart\themes\default\templates\basket\basket_b2с.html.php
Вставлять в самый верх файла, ссылку на корзину уже не помню где взять, может при переходе из модуля...
P.S. Код не полный. Надо так.
Цитировать
<?php $redirectlink = '/страница_корзины';$sv = $_SERVER['REQUEST_URI'];$app = JFactory::getApplication(); if ($page=='shop.cart' && $sv != $redirectlink) $app->redirect($redirectlink); ?>
Создание сайтов, шаблонов, помощь в решении проблем.
*

polyKARP

  • Новичок
  • 7
  • 0 / 0
ссылка на корзину из корзины   drvinyl.ru/home/cart.html?product_id=232   http:// я убрал

вот эта из проги на проверку о битых ссылках
Broken page-local links (also named 'anchors', 'fragment identifiers'):
http://drvinyl.ru/#addtocart       nchor occurs multiple times
1 bad local link(s) reported

буду вставлять подряд, снач. один вариант потом др. попробую
если не выйдет буду узнавать, где взять настоящую ссылку на корзину
спаиБ!
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Попробуйте
Цитировать
$redirectlink = '/cart.html';
Создание сайтов, шаблонов, помощь в решении проблем.
*

polyKARP

  • Новичок
  • 7
  • 0 / 0
если добавить товар то ссылка такая  drvinyl.ru/home/cart.html
если товар удалить, то +  ?product_id=232
буду прбовать ващ вариант и этот заодно
*

polyKARP

  • Новичок
  • 7
  • 0 / 0
сначала ставил так в оба файла
?>
<?php $redirectlink = '/cart.html';$sv = $_SERVER['REQUEST_URI'];$app = JFactory::getApplication(); if ($page=='shop.cart' && $sv != $redirectlink) $app->redirect($redirectlink); ?>

потом так, тоже в оба
?>
<?php $redirectlink = '/drvinyl.ru/home/cart.html';$sv = $_SERVER['REQUEST_URI'];$app = JFactory::getApplication(); if ($page=='shop.cart' && $sv != $redirectlink) $app->redirect($redirectlink); ?>

к сожалению опять не вышло:(   спасиБ!... 
ну да ладно, буду удаляться, а завтра сутра опять пляски с бубном
Best regards
polyKARP
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Цитировать
к сожалению опять не вышло:(
и что это значит?
Если вы прописали в нужном файле, то должен происходить редирект на прописаный адрес корзины.
Если не происходит ничего, значит или файл не тот или кеш...
Создание сайтов, шаблонов, помощь в решении проблем.
*

polyKARP

  • Новичок
  • 7
  • 0 / 0
здравствуйте! вот опять зашел сюда.. в том-то и дело, что такому грамотею как я нужно к сожалению пальцем тыкать
ставь сюда!! в силу профессии (мастеринг) и возраста (немалый), поздно я понял, что программирование мне не по зубам
год уже бьюсь с этим сайтом, повелся на рекламу блин...одно залатаещь другое вылазит, и конца края не видать.. простите уж!
в Joomla по-моему тысяч 8 файлов и какой из них нужный??
прописывал вот в этих (тех кот. вы указали в начале кода)
basket_b2b.html.php
basket_b2с.html.php
если через адресную строку, то в пустую корзину войти можно, но и из корзины в нее товар
уже не добавить - выкидывает на главную (ругаться не хочется)
есть еще решение там рядом с Вашим, но там вообще написано зайди в папку HTML и ...найди строку...там более 100 файлов?
так что я даже и вопрос задавать не стал (все и так ясно)
просто, как я понял, это довольно распространенный трабл. Неужели во всем INete нет ни одного удобоваримого решения за эти годы кроме геморройных.. простите еще раз, просто потрындеть нескем на эти темы......
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вы это не пробовали?
Файл administrator/components/com_virtuemart/html/basket.php, строка ~133
менять
/* UPDATE CART / DELETE FROM CART */
$action_url = $mm_action_url.basename($_SERVER['PHP_SELF']);
на
/* UPDATE CART / DELETE FROM CART */
$action_url = 'index.php?page=shop.cart&option=com_virtuemart&Itemid='.$sess->getShopItemid();
Не будь паразитом, сделай что-нибудь самостоятельно!
*

polyKARP

  • Новичок
  • 7
  • 0 / 0
robert
Цитировать
Вы это не пробовали?
Файл administrator/components/com_virtuemart/html/basket.php, строка ~133

да уже тоже успел попробовать, с англ.яз. дружу и нашел в Google те самые несколько 'забугорных' форумов на которых
прокручиваются этот и др. похожие варианты, но они не сработали:(, (в VMart 1.1.9 строка где-то 140-145, уже не помню)
и даже вариант ув.Efanychа тоже попробовал на basket.php (в код вставлял первой строкой). обидно конечно, столько вариантов и ни один не работает. В плане SEO плясок в joomlе без 301 редиректа на не index.php вообще оч. трудно
обойтись. Чего они там в VMarte объелись? Не знают что ли об этом! Охренели совсем фирмаПилы. спасиБ!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поменять в ссылке index.php на алиас меню

Автор sashgera

Ответов: 0
Просмотров: 2382
Последний ответ 03.08.2020, 08:29:14
от sashgera
VirtueMart - переход в корзину после заказа

Автор vipex

Ответов: 2
Просмотров: 1394
Последний ответ 13.03.2017, 23:26:16
от vipex
Ищу компонент для virtuemart: после заказа товара приходит SMS, есть такое?

Автор stylus83

Ответов: 0
Просмотров: 1188
Последний ответ 25.10.2016, 12:41:27
от stylus83
Не сохраняется корзина после закрытия браузера. Joomla 1.5 + VirtueMart 1.1.8

Автор pcom

Ответов: 4
Просмотров: 1594
Последний ответ 25.09.2015, 21:11:08
от pcom
Пропал VirtueMart из меню админ панели после обновления J3.4.3

Автор siao

Ответов: 0
Просмотров: 1412
Последний ответ 04.09.2015, 11:49:24
от siao