Новости Joomla

Обновление пакета плагинов JL Like 5.0

Обновление пакета плагинов  JL Like 5.0

Обновление пакета плагинов JL Like 5.0.0Команда JoomLine рада представить долгожданное обновление плагина социальных кнопок JL Like — версию 5.0.0! В этом релизе мы сделали акцент на совместимости с последними версиями Joomla, улучшении производительности и расширении функционала.👩‍💻 Что нового в JL Like 5.0.0?- Полная совместимость с Joomla 5 — теперь плагин работает на всех актуальных версиях Joomla, включая Joomla 5.- Рефакторинг и оптимизация кода — проведена масштабная чистка и обновление внутренних классов для повышения стабильности и скорости работы.- Удаление устаревших зависимостей — полностью отказались от использования jQuery, что ускорило загрузку страниц и повысило безопасность.- Обновление CSS и удаление неиспользуемых стилей — интерфейс стал еще легче и современнее.- Удалена поддержка устаревших виджетов — например, функциональность твиттер-виджета вынесена из плагина.- Поддержка twitter:card — улучшена интеграция с социальными сетями для красивого отображения ссылок.- Гибкая настройка счетчиков лайков — теперь можно включать и отключать рандомизацию количества лайков.- Улучшено подключение скриптов — переход на WebAssetManager для более корректной работы с ресурсами.- Обновлены языковые переменныеРасширения всё ещё наследуют старую архитектуру плагинов Joomla 3, но были протестированы на Joomla 5.3.Новость на сайте JoomlineСтраница расширенияGitHub расширения@joomlafeed#расширения

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

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

Не могу найти штатных средств для отображения содержимого подкатегорий. Помогите решить проблему.

Задача в следующем:
Есть категория с подкатегориями. Например, категория "Телевизоры" имеет 2 подкатегории "ЧБ" и "Цветные". Мне необходимо, чтобы при нажатии на категории "Телвизоры" отображался не список подкатегорий, а все содержимое их... отсортированное по сортировке по умолчанию в этой категории.

Или, как вариант, сделать так, чтобы категория в списке категории была видна, но можно было отобразить содержимое только подкатегорий, но не самой категории "Телевизоры"

Заранее благодарен всем откликнувшимся
« Последнее редактирование: 21.07.2008, 01:24:01 от Enver »
*

Bumbu

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
я делал такое для вирт 1.1 и жоомла 1.0.15(хотя версия жоомлы не важна), но сразу предупреждаю - это точно не лучшее решение так как я нуб в пхп, но зато работает : )

шаг1
в файле ps_product_category.php
после функции function get_subcategory( $category_id, $css_class = "" )(после всей функции, или лучше вообще в конец добавить) а добавил новую функцию

Цитировать
   /*Bumbu start*/
function get_all_subcategoryes_b( $category_id=0,
            $links_css_class="mainlevel",
            $list_css_class="mm123",
            $highlighted_style="font-style:italic;" ) {
      global $sess;

      $categories = ps_product_category::getCategoryTreeArray(); // Get array of category objects
      $result = ps_product_category::sortCategoryTreeArray($categories); // Sort array of category objects
      $row_list = $result['row_list'];
      $depth_list = $result['depth_list'];
      $category_tmp = $result['category_tmp'];
      $nrows = sizeof($category_tmp);

      // Copy the Array into an Array with auto_incrementing Indexes
      $key = array_keys($categories); // Array of category table primary keys
      
      $nrows = $size = sizeOf($key); // Category count

      $html = "";

      // Find out if we have subcategories to display
      $allowed_subcategories = Array();
      if( !empty( $categories[$category_id]["category_parent_id"] ) ) {
         // Find the Root Category of this category
         $root = $categories[$category_id];
         $allowed_subcategories[] = $categories[$category_id]["category_parent_id"];
         // Loop through the Tree up to the root
         while( !empty( $root["category_parent_id"] )) {
            $allowed_subcategories[] = $categories[$root["category_child_id"]]["category_child_id"];
            $root = $categories[$root["category_parent_id"]];
         }
      }
      // Fix the empty Array Fields
      if( $nrows < count( $row_list ) ) {
         $nrows = count( $row_list );
      }
      //Bumbu test

      for($n = 0 ; $n < $nrowsz ; $n++) {
         if ( $depth_list[$n] == 0 ) {unset($keyz[$n]);};
      }
      // Now show the categories
      for($n = 0 ; $n < $nrows ; $n++) {
         if ($category_id == $category_tmp[$row_list[$n]]["category_parent_id"] )
         {
         $allowed_subcategories2[] = $category_tmp[$row_list[$n]]["category_child_id"];
         };
      }
      $allowed_subcategories1 = $allowed_subcategories2;
      
      for ($i = 0; $i < count($allowed_subcategories2) ; $i++){
         for($n = 0 ; $n < $nrows ; $n++) {
         if ($allowed_subcategories2[$i] == $category_tmp[$row_list[$n]]["category_parent_id"] )
         {
         $allowed_subcategories3[] = $category_tmp[$row_list[$n]]["category_child_id"];
         }
         }
      }
      $allowed_subcategories1 = array_merge($allowed_subcategories1,$allowed_subcategories3);
      
      for ($i = 0; $i < count($allowed_subcategories3) ; $i++){
         for($n = 0 ; $n < $nrows ; $n++) {
         if ($allowed_subcategories3[$i] == $category_tmp[$row_list[$n]]["category_parent_id"] )
         {
         $allowed_subcategories4[] = $category_tmp[$row_list[$n]]["category_child_id"];
         }
         }
      }
      $allowed_subcategories1 = array_merge($allowed_subcategories1,$allowed_subcategories4);
      
      for ($i = 0; $i < count($allowed_subcategories4) ; $i++){
         for($n = 0 ; $n < $nrows ; $n++) {
         if ($allowed_subcategories4[$i] == $category_tmp[$row_list[$n]]["category_parent_id"] )
         {
         $allowed_subcategories5[] = $category_tmp[$row_list[$n]]["category_child_id"];
         }
         }
      }
      $allowed_subcategories1 = array_merge($allowed_subcategories1,$allowed_subcategories5);
      return $allowed_subcategories1;
   }
/*Bumbu end*/

шаг 2
файл shop_browse_queries.php

после mm_showMyFileName( __FILE__ );
добавил
require_once (CLASSPATH."ps_product_category.php");
для подгрузки файла с функцией, и далее у меня получилась при замене некоторых рядов начиная с 61(это у меня 61-ый ряд)
получилось вот это
Цитировать
// Filter Products by Category
if( $category_id ) {
   if( !empty( $search_this_category ) && (!empty( $keyword ) || !empty( $manufacturer_id ) )) {
      $where_clause[] = "`#__{vm}_product_category_xref`.`category_id`=".$category_id;
   } elseif( empty( $keyword ) && empty( $manufacturer_id )) {
      $ps_product_category = new ps_product_category();
      $bumbucatid = $ps_product_category->get_all_subcategoryes_b($category_id);
      

      $sq .= "\n (`#__{vm}_product_category_xref`.`category_id`=".$category_id."  OR ";
      for($i = 0; $i < count($bumbucatid); $i++){
         $sq .= "\n `#__{vm}_product_category_xref`.`category_id`=".$bumbucatid[$i]."  OR ";
      }
      $sq .= "\n `#__{vm}_product_category_xref`.`category_id`=9999  ) ";
      $where_clause[] = $sq;

   }
}

а чтоб не показывались ссылки на подкатегории просто это нужно удалить из шаблона магазина в файле
components/com_virtuemart/themes/default/templates/common/categoryChildlist.tpl.php то что выводит подкатегорий(тоесть почти всё или даже всё)

надеюсь поможет, я тоже в своё время искал и не нашёол, пришлось самому делать.
« Последнее редактирование: 25.07.2008, 03:39:31 от Bumbu »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Какие программы вы используете для учета товаров, заказов и клиентов?

Автор nick71

Ответов: 4
Просмотров: 7003
Последний ответ 09.02.2017, 17:14:43
от api_net_ua
Можно ли сделать отображение артикулов у товара?

Автор ksergeys

Ответов: 3
Просмотров: 5917
Последний ответ 27.01.2015, 20:45:46
от bgg87
Отключение доставки для некоторых групп товаров

Автор Mirsaytov

Ответов: 3
Просмотров: 5296
Последний ответ 16.05.2014, 18:29:18
от Mishok333
Сортировка товаров

Автор vadsson

Ответов: 13
Просмотров: 9150
Последний ответ 22.04.2014, 13:20:12
от mrfruze
Модуль виртуемарт "Категории товаров"

Автор Privat

Ответов: 25
Просмотров: 23468
Последний ответ 17.12.2012, 15:12:07
от nazar86