Новости Joomla

👩‍💻 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 Гость просматривают эту тему.
  • 0 Ответов
  • 2453 Просмотров
*

ColorAnt

  • Новичок
  • 9
  • 0 / 0
Хочу предложить свой вариант оптимизации выполнения рутинной операции и обсудить варианты улучшения пердложенной реализации.

Задача:
Одна из категорий представляет собой товары, которые допускают продажу кусками произвольной длины, пусть это будет ткань на шторы.
Цена товара рассчитывается как длина куска на стоимость метра.
При этом хотим чтобы покупатель имел возможность заказывать несколько одинаковых кусков или даже кусков разной длины.
Упростим задачу, разрешив заказывать только куски длиной из некоторого набора длин (3, 4, 5, ..., 10 метров)

Как я это реализовал в VirtueMart:
В каталоге есть категория "Тюль".
Выставлены образцы товара.
Для каждого товара указана стоимость метра ткани.
У каждого товара есть свойство "Ширина", которое устанавливает цену за данный кусок, заданной длины.

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

Решение:
Немного теории
Список товаров хранится в jos_vm_product
Свойства хранятся в jos_vm_product.attribute
Кодируются как:
<Title>,<Имя особенности>[<действие с ценой "+" или "="><цена>]

Список свойств разделяется ";"
Внутри поля разделяются "," без пробела после нее.
первое поле - имя свойства
остальные список особенностей
список особенностей состоит из имени особенности и действия с ценой ("+" или "=") указанного в квадратных скобках сразу после имени особенности, без пробела, за знаком "+" или "=" идет значение особенности


Пример (два свойства, по несколько особенностей у каждого):
Код
Варианты размеров  (высота),2.30 метра[+100],2.35 метра[=200],2.40 метра,2.45 метра,2.50 метра,2.55 метра,2.60 метра,2.65 метра,2.70 метра;Ширина,3 метра[=240],4 метра[=320],5 метров[=400]

Принадлежность товара к определенной категории указывается в таблице jos_vm_product_category_xref

Цена товара хранится в таблице product_price

Для того, чтобы не вносить все свойства к каждому товару вручную пишем скрипт MySQL.

Код
UPDATE `jos_vm_product`
SET `ship_code_id` = (SELECT `product_price` FROM `jos_vm_product_price` WHERE `product_id` = `jos_vm_product`.`product_id`)
WHERE `product_id` IN (
SELECT `product_id`
FROM `jos_vm_product_category_xref`
WHERE `category_id` =4
)

UPDATE `jos_vm_product`
SET `attribute` = CONCAT('Ширина,3 метра[=', 3 * `ship_code_id`, '],4 метра[=', 4 * `ship_code_id`, ']')
WHERE `product_id` IN (
SELECT `product_id`
FROM `jos_vm_product_category_xref`
WHERE `category_id` =4
)

UPDATE `jos_vm_product`
SET `ship_code_id` = NULL
WHERE `product_id` IN (
SELECT `product_id`
FROM `jos_vm_product_category_xref`
WHERE `category_id` =4
)

Примечания:
У меня jos_vm_product.ship_code_id не востребовано, поэтому использовал его в качестве промежуточного поля для хранения цены.
Для каждого товара будет сформировано свойство для которого цена за особенность будет зависеть от ширины заказываемог куска.

Хочется услышать критику по упрощению скрипта.
Возможно ли избавиться от использования промежуточного поля?

« Последнее редактирование: 19.04.2011, 18:39:05 от ColorAnt »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] "Цена от:" на странице категорий

Автор kry

Ответов: 27
Просмотров: 10800
Последний ответ 23.04.2016, 00:18:32
от morda77
[решено] Как вывести цену за количество товара на странице категории (browse_x.php)

Автор mark1

Ответов: 3
Просмотров: 4593
Последний ответ 13.06.2015, 16:22:24
от davudo
Автоматическое добавление артикула в VirtueMart

Автор TenderWinner

Ответов: 37
Просмотров: 25141
Последний ответ 27.01.2015, 20:38:16
от bgg87
Дополнительные фото товара в списке категории

Автор newjey

Ответов: 0
Просмотров: 1727
Последний ответ 11.07.2014, 12:27:52
от newjey
Добавление параметров атрибута

Автор Afelua

Ответов: 1
Просмотров: 1535
Последний ответ 28.11.2013, 16:30:10
от fsv