Новости Joomla

Вышел JoomShoppping 5.7.0Один из популярных компонентов интернет-магазина на Joomla

Вышел JoomShoppping 5.7.0Один из популярных компонентов интернет-магазина на Joomla.30 апреля вышел релиз 5.6.2, а 15 мая его догнал релиз 5.7.0. В целом можно отметить, что команда разработки взяла курс на развитие собственного установщика расширений для JoomShopping, а так же на удобство администрирования магазина в панели администратора.👩‍💻 v.5.7.0. Что нового?- Добавлено управление платными расширениями (установка / обновление / получение ключа).- Возможность изменять позиции для аддонов. Других подробностей нет, но возможно это означает что для вывода данных аддонов стало возможно переключать позиции вывода в шаблоне JoomShopping вида _tmp_var_bottom_price и т.д.- Улучшена форма создания клиента для администратора – введенные данные сохраняются после ошибки проверки.- Новый параметр конфигурации admin_products_search_by_prod_id_range (поиск по диапазону идентификаторов товаров (x-y)). В интерфейсе настроек его нет. Нужно включать в файле user_config.php.- для разработки аддонов - новый метод getAddonParam().- Добавлены новые триггеры для плагинов- Исправления ошибок.👉 v.5.6.2 (30.04.2025)- Атрибуты, характеристики - добавлена иконка в списке с подсказкой о том, что этот элемент не используется- Атрибуты, характеристики - подсчет количества товаров, где используется данная характеристика / атрибут- Библиотека обработки изображений: - - добавлена поддержка avif- - исправлена ошибка с обработкой прозрачности для webp- Добавлена новая настройка: поиск товаров администратором по коду атрибута- Добавлена кнопка "Копировать" в списке способов оплаты (опции / способы оплаты)- Шаблон товара - оптимизирована загрузка шаблона - block_image_middle, блокировка изображения с помощью большого пальца- Все поля mysql имеют значения по умолчанию- Исправления ошибок- Добавлены новые триггеры для плагиновСкачать JoomShopping#JoomShopping #расширения

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные...

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени. Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎Читать пост на Хабре#joomla #php #разработка #webdev

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки /tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля - default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.Страница расширенияGitHub#расширения #virtuemart #JoomShopping

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

Latmi

  • Новичок
  • 7
  • 0 / 0
Уважаемые, опытные мастера.  !

Подскажите пожалуйста. Как реализовать сохранение материалов (добавить в избранное) Joomla посетителем сайтом без его регистрации?
Материалы с дополнительными полями сделаны через компонент K2. Нужна кнопка в материале "Добавить в избранное", на которую посетитель сайта может нажать, и добавить таким образом к себе в избранное.
А потом этот материал вывести нужно.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Ну в сеесию можно добавить простым AJAX а вот с выводом посложнее. Хотя на k2 тоже особой проблемы нет. Все это можно сделать за один плагин, хоть и немного велосипедно.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Latmi

  • Новичок
  • 7
  • 0 / 0
Ну в сеесию можно добавить простым AJAX а вот с выводом посложнее. Хотя на k2 тоже особой проблемы нет. Все это можно сделать за один плагин, хоть и немного велосипедно.

Я правильно понимаю что вывод так же через K2 модуль, только в шаблоне нужно добавить условие: если такой-то материал добавлен в сессию, то тогда вывести его в шаблон?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не совсем понял, нужно сохранить сами материалы или просто добавить их в список избранных. Если последнее, то просто запишите их идентификаторы (ID, алиас) в cookies и проверять их при выводе, сессия же уничтожается вместе со всеми данными через заданный интервал времени.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Я правильно понимаю что вывод так же через K2 модуль, только в шаблоне нужно добавить условие: если такой-то материал добавлен в сессию, то тогда вывести его в шаблон?
Ну в k2 можно и без модуля. там есть event чтобы менять запрос в базу. Ну а та если вам лень делать могу за вас написать 50$ хвтатит. Контакты в подписи
Не совсем понял, нужно сохранить сами материалы или просто добавить их в список избранных. Если последнее, то просто запишите их идентификаторы (ID, алиас) в cookies и проверять их при выводе, сессия же уничтожается вместе со всеми данными через заданный интервал времени.
Ну куки тоже не вечны. если бы только зареганым я бы в базу засунул. Кстати проверять при выводе все таки поздно. Надо запрос с коркетировать. Инача будут пустые старницы
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Latmi

  • Новичок
  • 7
  • 0 / 0
Не совсем понял, нужно сохранить сами материалы или просто добавить их в список избранных. Если последнее, то просто запишите их идентификаторы (ID, алиас) в cookies и проверять их при выводе, сессия же уничтожается вместе со всеми данными через заданный интервал времени.

Да, добавить в избранное. Мне время сессии хватит. Спасибо за совет, только есть проблема которую пока не могу решить:
  • как в шаблоне модуля правильно вывести материал K2 циклом по его ID и так чтобы он ничего другого не показывал?
    *

    Latmi

    • Новичок
    • 7
    • 0 / 0
    Ну в k2 можно и без модуля. там есть event чтобы менять запрос в базу. Ну а та если вам лень делать могу за вас написать 50$ хвтатит. Контакты в подписиНу куки тоже не вечны. если бы только зареганым я бы в базу засунул. Кстати проверять при выводе все таки поздно. Надо запрос с коркетировать. Инача будут пустые старницы

    Как же этот event прописать чтобы обойтись без модуля? Делать совсем не лень, и денег не жалко но очень хочется сделать самому, но мозгов видимо не хватает уже 3-й день мучаю эту задачу.
    *

    Septdir

    • Живу я здесь
    • 3370
    • 168 / 4
    Есть ивент onbeforesentquery который позволяет поменять сам запрос в базу. Так как примеру можно к url добавить параметр и добавить проверку что если он есть в запрос добавить id in
    Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
    *Интересная задача, Деньги или Бартер. Натурой не беру!
    CodersRank | Контакты | Мой GitHub | Workshop
    *

    Septdir

    • Живу я здесь
    • 3370
    • 168 / 4
    Да, добавить в избранное. Мне время сессии хватит. Спасибо за совет, только есть проблема которую пока не могу решить:
    • как в шаблоне модуля правильно вывести материал K2 циклом по его ID и так чтобы он ничего другого не показывал?
      Ни как чтобы корректно работало надо править запрос а он лежит в helper
      Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
      *Интересная задача, Деньги или Бартер. Натурой не беру!
      CodersRank | Контакты | Мой GitHub | Workshop
      *

      Latmi

      • Новичок
      • 7
      • 0 / 0
      Ни как чтобы корректно работало надо править запрос а он лежит в helper

      я все таки сделал вывод в плагине:
      Код
      <?php
      $array[];
      $array[] = "ID материала записанного в сессию";



      foreach ($items as $key=>$item):
      foreach($array as $id):
          if ($item->id == $id) {?>
              <div class="popularList">
              <div class="popularItem">
              <div class="popularPic"><a href="<?=$item->link?>"><img height="280" src="<?=$item->imageLarge?>" alt="<?=$item->title?>" title="<?=$item->title?>" /></a></div>
              <div class="popularDesc">
              <?php foreach($item->extraFields as $keyField => $valueField):
                  $extraFields[$keyField] = $valueField->value;
              endforeach;
              if($extraFields["ploshad"] != ""):?><div class="popularPloshad"><?=$extraFields["ploshad"]?> <span>м2</span></div><?endif;
              if($extraFields["summ_price"] != ""):?><div class="popularPrice"><?=number_format($extraFields["summ_price"], 0, '.', ' ')?> <span>руб. в месяц</span></div><?endif;?>
              </div>
              </div>
              </div> <?php
          }
      endforeach;
      endforeach;
      ?>

      И работает) Осталось только записать через AJAX по ссылке в сессию.

      Скорее всего я сделал очень криво и неправильно. Прокомментируйте пожалуйста.
      *

      robert

      • Живу я здесь
      • 4974
      • 457 / 20
      Мне время сессии хватит.
      Не понял: у вас вечная сессия? Если нет, то откуда возьмется список избранных в следующий заход посетителя на сайт?
      я все таки сделал вывод в плагине:
      Скорее всего я сделал очень криво и неправильно. Прокомментируйте пожалуйста.
      -Наверное, все-таки $array = [];, а не $array[];
      -Выборку по IDs нужно делать при SQL-запросе, а не после.
      -И самое главное: откуда возьмете содержимое $array? Об этом я уже написал в начале этого сообщения.
      Не будь паразитом, сделай что-нибудь самостоятельно!
      *

      Latmi

      • Новичок
      • 7
      • 0 / 0
      Не понял: у вас вечная сессия? Если нет, то откуда возьмется список избранных в следующий заход посетителя на сайт?-Наверное, все-таки $array = [];, а не $array[];
      -Выборку по IDs нужно делать при SQL-запросе, а не после.
      -И самое главное: откуда возьмете содержимое $array? Об этом я уже написал в начале этого сообщения.

      содержимое array из невечной сессии, ибо после ухода с сайта или закрытия браузера этот список должен очищаться.
      Код
      <?php

      session_start();





      $id = $this->item->id;

      if (isset($_SESSION['id']))
      {
          if (count($_SESSION['id']) < 3)
          {
            
              $_SESSION['id'][] = $id;
          }
          else {
            
              for ($i=1; $i<3; $i++)
              {
                  $_SESSION['id'][$i-1] = $_SESSION['id'][$i];
              }
              $_SESSION['id'][4] = $id;
          }

      } else {
          $_SESSION['id'] = array();
          $_SESSION['id'][] = $id;
      }

      session_write_close();
      ?>
      *

      Latmi

      • Новичок
      • 7
      • 0 / 0
      А вот как по клику добавить непонятно, пока что добавляется при открытии страницы самого материала. Пробовал через AJAX - не получилось.
      *

      robert

      • Живу я здесь
      • 4974
      • 457 / 20
      В контексте Joomla сессия уже запущена, так что нет смысла еще раз ее запускать. Получите ее методом JFactory:getSession().
      Используйте array_shift вместо своих сложных телодвижений по ограничению размер массива id.
      По AJAX - вам нужен скрипт, который отлавливает новый ID и записывает его в сессию. Код можно добавить прямо в какой-нибудъ шаблон компонента и пропишите в качестве AJAX-url путь к соответствующему view.
      Не будь паразитом, сделай что-нибудь самостоятельно!
      Чтобы оставить сообщение,
      Вам необходимо Войти или Зарегистрироваться
       

      Помогите с БАГом в панели администратора Joomla 3

      Автор akteon25

      Ответов: 2
      Просмотров: 643
      Последний ответ 26.02.2025, 16:41:56
      от akteon25
      Версии РНР и Joomla 3

      Автор Ebelous

      Ответов: 8
      Просмотров: 2325
      Последний ответ 27.01.2025, 20:38:45
      от pavelrer
      pptx в теле материала сайта

      Автор VIK4

      Ответов: 0
      Просмотров: 767
      Последний ответ 24.10.2024, 13:04:04
      от VIK4
      Trouble Upgrading from Joomla 3.8 to 3.9

      Автор melissa00

      Ответов: 0
      Просмотров: 1360
      Последний ответ 26.07.2024, 10:03:51
      от melissa00
      SP polls в Joomla 3.8.2

      Автор wawont

      Ответов: 2
      Просмотров: 3000
      Последний ответ 22.02.2024, 21:03:15
      от Zegeberg