Новости Joomla

Поток товаров, связанные товары для JoomShopping 5+.

Поток товаров, связанные товары для JoomShopping 5+.

Расширение для JoomShopping 5+, которое позволяет связывать товары между собой на основе общих характеристик, создавая логические группы товаров в каталоге.

Расширение реализует механизм связывания товаров, похожий на стандартный Related Products, но с дополнительной возможностью быстрого подбора товаров по характеристикам.

Принцип работы
- Связывание товаров происходит в полуавтоматическом режиме.
- Администратор выбирает характеристику, по которой нужно сформировать группу товаров (например: модель, серия, объем, тип и т.д.).
- Система фильтрует и показывает список товаров с таким же значением характеристики.
- Администратор выбирает нужные товары из списка для создания связи.
Таким образом сохраняется полный контроль над связями, но значительно упрощается поиск нужных товаров.

Назначение потока товаров в одном товаре является сквозным. Это обеспечивает автоматическую связь и возможность корректировки потока в каждом товаре, который к нему относится.

Страница расширения

@joomlafeed

👩‍💻 Joomla User Guide - новый портал документации для пользователей.

👩‍💻 Joomla User Guide - новый портал документации для пользователей.

Обычно над сайтом работают разные специалисты: контент-менеджеры, разработчики, администраторы и т.д. Долгое время документация для пользователей была на docs.joomla.org. Там по-прежнему хранится информация, актуальная для Joomla 2.5, Joomla 3 и немного для Joomla 4.

Для Joomla 5+ создан портал документации для пользователей Joomla — https://guide.joomla.org. В нём вы найдёте инструкции для контент-менеджеров и веб-мастеров, администраторов сайта:
- как работать с категориями, материалами, страницами сайта
- работа с модулями, стилями отображения
- загрузка картинок и работа с ними
- модули, плагины, компоненты, поиск, теги. процессы, мультиязычность, шаблоны писем, планировщик задач, микроразметка Schema.org...
- ... и многое многое другое, что вызывает так много вопросов у обычных пользователей Joomla.

Информация дана на английском языке. Можно использовать браузерный автоперевод для чтения по-русски или воспользоваться сайтом одного из энтузиастов Joomla-сообщества - https://jdocmanual.org, где даны ИИ-переводы на 9 (на данный момент) языков, включая русский.

Также всячески приветствуется помощь в наполнении портала документации. Ваша небольшая заметка или статья с парой скриншотов, ваш опыт - могут сэкономить тысячам и тысячам людей не один час Точно так же как и вы, пользуясь Joomla используете результаты трудов сотен людей со всего мира: от кода до документации.

Присоединяйтесь - это не сложно ) Главное начать ))

- https://guide.joomla.org/ - новы портал документации для пользователей Joomla 5+.
- https://docs.joomla.org/ - старый портал документации для пользователей Joomla 3.
- https://jdocmanual.org/ - документация по-русски (ИИ-перевод).

@joomlafeed

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

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Использую Virtuemart3.
Имеется подобное дерево категорий: Категория1->Категория2->Продукт
Требуется взять фото товара как изображение для Категория1 из Продукт1.
Используя код ниже всё получается, но только если мы ставим этот код для Категория2..
Прошу помощи, пытался всячески адаптировать код, но не получается.

Код
		          <?php 
$productModel = VmModel::getModel('product');
$prod_in_category = $productModel->getProductListing(false, 1, false, true, true, true, $category->virtuemart_category_id);
$productModel->addImages($prod_in_category[0],1);
if(!empty($prod_in_category[0]->images[0])){
echo $prod_in_category[0]->images[0]->displayMediaThumb("",false);
} else {
echo $category->images[0]->displayMediaThumb("",false);
}
 ?>
« Последнее редактирование: 20.09.2020, 10:51:20 от Damarkuzz »
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
А где Вы хотите выводить такое фото категории: на странице категории или в списке категорий?

Если в списке - такой подход не очень хорош с точки зрения быстродействия и нагрузки.

Но могут быть и другие варианты достижения цели.
Возможно, будет интересно: Интеграция с Ozon
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Думаю, более оптимальным решением было бы сделать скрипт, который пробегается по категориям и, если у них нет изображения, то проставляет, взяв из товара, генерируя нужный размер. Можно даже нужный формат, например, webp.
Такой скрипт запускать по расписанию, скажем, 1-2 раза в день.
Возможно, будет интересно: Интеграция с Ozon
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
В макете категории Вирт
Код
$productModel = VmModel::getModel('Product');
$productModel->addImages($this->products[0]);
if(!empty($this->products[0]->images[0]))
echo $this->products[0]->images[0]->displayMediaThumb ('class="sample-product__img"', FALSE);
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
В макете категории Вирт

Почему-то мне кажется, что картинка нужна не для вывода в макете категории )
Но дождёмся ответа ТС.
Возможно, будет интересно: Интеграция с Ozon
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
В макете категории Вирт
Код
$productModel = VmModel::getModel('Product');
$productModel->addImages($this->products[0]);
if(!empty($this->products[0]->images[0]))
echo $this->products[0]->images[0]->displayMediaThumb ('class="sample-product__img"', FALSE);
Благодарю за ответы. Проблема в том, что требуется вызвать не фото продуктов категории первичной вложенности, а продукты категории вторичной вложенности.
То есть:
   Категория 1
   -Категория 2
   --Товар 1
Нужно, чтобы для категории 1 вызывалось изображение Товар 1.

Надеюсь, объяснил понятно, не запутал.
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
А где Вы хотите выводить такое фото категории: на странице категории или в списке категорий?
Возможно, будет интересно: Интеграция с Ozon
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
На странице категории
Для самой этой категории или Для её подкатегорий?
Возможно, будет интересно: Интеграция с Ozon
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Для самой этой категории или Для её подкатегорий?
Для самой категории, которая Категория 1
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Думаю, Вы можете получить id первой дочерней категории, например, так:

Код
if (!empty($this->category->children[0]->virtuemart_category_id)) {
    $sub_id = $this->category->children[0]->virtuemart_category_id;
    // код, используя $sub_id
}

а потом подставить $sub_id в $prod_in_category вместо $category->virtuemart_category_id
Возможно, будет интересно: Интеграция с Ozon
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Возможно, в Вашем случае $this не надо.
Вы правите переопределение шаблона? Или какой файл?
Возможно, будет интересно: Интеграция с Ozon
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Возможно, в Вашем случае $this не надо.
Вы правите переопределение шаблона? Или какой файл?

Путь: /components/com_virtuemart/views/category/tmpl/default.php
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Возможно, в Вашем случае $this не надо.
Вы правите переопределение шаблона? Или какой файл?
Вставляю код:
Код
		     <?php
$productModel = VmModel::getModel('product');
$prod_in_category = $productModel->getProductListing(false, 1, false, true, true, true, $sub_id);
$productModel->addImages($prod_in_category[0],1);
if (!empty($category->children[0]->virtuemart_category_id)) {
$sub_id = $category->children[0]->virtuemart_category_id;
}
else {
echo $category->images[0]->displayMediaThumb("",false);
}
?>
Ничего не отображается, но и страница не крашится.
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Хотя нет, крашится с ошибкой
Код
Call to a member function displayMediaThumb() on null
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Вставляю код:
Код
		     <?php
$productModel = VmModel::getModel('product');
$prod_in_category = $productModel->getProductListing(false, 1, false, true, true, true, $sub_id);
$productModel->addImages($prod_in_category[0],1);
if (!empty($category->children[0]->virtuemart_category_id)) {
$sub_id = $category->children[0]->virtuemart_category_id;
}
else {
echo $category->images[0]->displayMediaThumb("",false);
}
?>
Только это вставили или ещё условие, которое я писал?
Покажите целиком.
Возможно, будет интересно: Интеграция с Ozon
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Благодарю всем за помощь, в итоге работает для моей задачи данный код:
Код
		
<?php
    $productModel = VmModel::getModel('product');
    $sub_id = $this->category->children[0]->virtuemart_category_id;
    $prod_in_category = $productModel->getProductListing(false, 1, true, true, true, true, $sub_id);
    $productModel->addImages($prod_in_category[0],1);
    echo '<img class="def1-cat-img" src="'.$prod_in_category[0]->file_url.'">';
?>
Отдельная благодарность @rsn
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Код
<?php
    $productModel = VmModel::getModel('product');
    $sub_id = $this->category->children[0]->virtuemart_category_id;
    $prod_in_category = $productModel->getProductListing(false, 1, true, true, true, true, $sub_id);
    $productModel->addImages($prod_in_category[0],1);
    echo '<img class="def1-cat-img" src="'.$prod_in_category[0]->file_url.'">';
?>

Я бы всё-таки предложил вставить условие
Код
if (!empty($this->category->children[0]->virtuemart_category_id)) {
    // код
}
Иначе - если, в категории не будет подкатегорий, то результат может быть для Вас неожиданным.
Возможна ошибка. Или предупреждение. Или вывод фото товара из Корневой категории.

Кроме того, лучше делать такие правки не в этом файле:
Путь: /components/com_virtuemart/views/category/tmpl/default.php
(его лучше не трогать)
- а сделать переопределение этого файла в своём шаблоне. Так корректнее. VirtueMart поддерживает переопределения.
Возможно, будет интересно: Интеграция с Ozon
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Я бы всё-таки предложил вставить условие


Вот так получается, в общем. В категории 2 на всех страницах подобного шаблона не грузит фотографию первой категории. Код, который Вы помогли составить отображается в "Категория 1"
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Код, который Вы помогли составить отображается в "Категория 1"
Вы же и спрашивали для Категория 1  ^-^
Кто же знал, что Вам надо, что этот же был расчитан одновременно на 2 случая )

Попробуйте так:
Код
if (!empty($this->category->children[0]->virtuemart_category_id)) {
    // код для Категории 1
}
else {
    // код для Категории 2, когда берет фото просто дочернего товара
}
(если я правильно понял, как выводите Категории 2)
Возможно, будет интересно: Интеграция с Ozon
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
не грузит фотографию первой категории
Если это подкатегории - для подкатегории с названием "3" установлено фото?
(как для 3Т, например)
Возможно, будет интересно: Интеграция с Ozon
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Если это подкатегории - для подкатегории с названием "3" установлено фото?
(как для 3Т, например)
Нет, у всех категорий вообще нет изображений, оно есть только у фото. Моя задача сделать так, чтобы не требовалось добавлять фото для категорий.
Спойлер
[свернуть]
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
А какой файл и фрагмент кода у Вас отвечает за вывод изображений для категорий 3Т, 5, 5Т на этой странице, которую Вы показали выше?
Возможно, будет интересно: Интеграция с Ozon
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
А какой файл и фрагмент кода у Вас отвечает за вывод изображений для категорий 3Т, 5, 5Т на этой странице, которую Вы показали выше?
Решил создать новую тему, мне показалось, что то, что я не упомянул двойной вывод фото уже другой топик Как устранить конфликт вызова фото в Virtuemart3?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенести описание категории вниз страницы

Автор jimka

Ответов: 1
Просмотров: 2019
Последний ответ 18.07.2024, 08:02:46
от Vastriet
Сортировка по доп. полям на странице списка категории

Автор revil

Ответов: 4
Просмотров: 2255
Последний ответ 02.06.2024, 13:42:45
от tigra-uki
Как сделать картинку ссылкой на материал без Вводного изображения?

Автор OZlaim

Ответов: 0
Просмотров: 1517
Последний ответ 30.05.2024, 01:28:37
от OZlaim
Пропало описание товара

Автор AnnaFadeeva

Ответов: 2
Просмотров: 1133
Последний ответ 02.11.2023, 13:32:54
от AnnaFadeeva
Как сделать отображение времени создания материала?

Автор Pzhigalov

Ответов: 0
Просмотров: 1616
Последний ответ 27.09.2023, 22:45:29
от Pzhigalov