Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

TenderWinner

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Такая проблема, хочется чтобы не надо было вводить артикул а он скажем брал максимум от всех артикулов в базе и ставил новому продукту максимум+1, есть может у кого хак или другое предложение толковое?
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Такая проблема, хочется чтобы не надо было вводить артикул а он скажем брал максимум от всех артикулов в базе и ставил новому продукту максимум+1, есть может у кого хак или другое предложение толковое?

Адрес форума: http://joomlaforum.ru/index.php?topic=20865.0

Нужно сделать следующие:

В файле: administrator\components\com_virtuemart\classes\ps_product.php

Нужно заменить:

if (empty( $d["product_sku"])) {
   $vmLogger->err( $VM_LANG->_('VM_PRODUCT_MISSING_SKU',false) );
   $valid = false;
}

Заменить на:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

Проблема решина...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

TenderWinner

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Спасибо, попробую, ато приходилось блин самому из базы максимальное значение доставать и 1 прибавлять :)
*

TenderWinner

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Немного изменил решение, чтобы артикулы шли по порядку, сделал так:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

У себя сделал константно jos_vm_product.
*

bato

  • Осваиваюсь на форуме
  • 49
  • 2 / 0
  • Пашу как папа Карло

У себя сделал константно jos_vm_product.

не совсем понятно что означает
*

Timer

  • Захожу иногда
  • 109
  • 1 / 1
Немного изменил решение, чтобы артикулы шли по порядку, сделал так:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}


при таком раскладе у меня больше 10 артикул не добавляется.. все последующие ставятся 10 и само собой товар с одним артикулом не добавляется
*

xTMx

  • Захожу иногда
  • 145
  • 4 / 0
+1 актуально. вшие 10ти артикул не идет. сам не допер чото  где ошибка. вроде логично всё
*

antfrolov

  • Захожу иногда
  • 83
  • 2 / 2
РЕШЕНИЕ НЕ РАБОТАЕТ! VM 1.1.X Joomla 1.5.18
У меня везде пишет артикул 1. Таким образом набирается несколько товаров с артикулом 1. При редактировании информации о товаре пишет что товар с таким артикулом существует. (их уже 4 существовало на тот момент :))
*

antfrolov

  • Захожу иногда
  • 83
  • 2 / 2
РАБОЧЕЕ РЕШЕНИЕ:
В файле: administrator\components\com_virtuemart\classes\ps_product.php

Нужно заменить:

if (empty( $d["product_sku"])) {
   $vmLogger->err( $VM_LANG->_('VM_PRODUCT_MISSING_SKU',false) );
   $valid = false;
}

Заменить на:
 if (empty( $d["product_sku"])) {
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $list_sku;
         $valid = true;
    }

Взято отсюда http://joomlaforum.ru/index.php/topic,20865.0.html
*

GrayHunter

  • Захожу иногда
  • 64
  • 1 / 0
Попробовал последний вариант - вроде работает. Спасибо, а то замучился бы с этим артиклем )
*

IND

  • Новичок
  • 8
  • 0 / 0
привет всем.
а как бы сделать так чтоб ещё имя производителя перед артикулом добавлялось ? и выглядело бы это потом например так
Производитель-14897298341
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
по идее
Код
if (empty( $d["product_sku"])) {
      $q = "SELECT mf_name FROM #__{vm}_manufacturer WHERE manufacturer_id=".$manufacturer_id;
           $db->query( $q );
           $db->next_record();
$mf_name=$db->mf_name;
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $mf_name.'-'.$list_sku;
         $valid = true;
    }

как-то так...
*

GrayHunter

  • Захожу иногда
  • 64
  • 1 / 0
не работает так. Пишет просто "-583290588".

Вообще, мне бы в артике хотелось бы так: "id_производителя - артикул"

Помогите пожалуйста.
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
тогда должно быть проще:
Код
if (empty( $d["product_sku"])) {
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $d['manufacturer_id'].'-'.$list_sku;
         $valid = true;
    }

в предыдущем коде была ошибка - во второй стороке вместо $manufacturer_id нужно $d['manufacturer_id'], писал по памяти - ошибся.
*

GrayHunter

  • Захожу иногда
  • 64
  • 1 / 0
Работает. Спасибо.

А может Вы подскажете как вывести название производителя в confirmation_email.tpl.php ? Моих знаний не хватает. :(
*

IND

  • Новичок
  • 8
  • 0 / 0
тогда должно быть проще:
Код
if (empty( $d["product_sku"])) {
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $d['manufacturer_id'].'-'.$list_sku;
         $valid = true;
    }

в предыдущем коде была ошибка - во второй стороке вместо $manufacturer_id нужно $d['manufacturer_id'], писал по памяти - ошибся.
спасибо большое !!
*

Biomech

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Хм, странно, а у меня почему то выводит артикулы случайным образом. А как сделать, чтобы они допустим начинались с 100000.
Количество знаков уменьшил, но каждый раз при создании, почему то идут не подряд.
*

aslanamirov

  • Захожу иногда
  • 87
  • 4 / 0
  • Ййехаа!
Немного изменил решение, чтобы артикулы шли по порядку, сделал так:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

У себя сделал константно jos_vm_product.

Спасибо. Как и хотел чтоб по порядку и не задумываться о его вводе. Спасибо! VirtueMart у меня 1.1.4
*

stepcool

  • Новичок
  • 7
  • 1 / 0
тогда должно быть проще:
Код
if (empty( $d["product_sku"])) {
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $d['manufacturer_id'].'-'.$list_sku;
         $valid = true;
    }

в предыдущем коде была ошибка - во второй стороке вместо $manufacturer_id нужно $d['manufacturer_id'], писал по памяти - ошибся.

У меня заработало это решение. VirtueMart 1.1.8. В поле артикул добавилось 5-766021748. 5 это id производителя, а 766021748 - простой набор цифр.  ^-^
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
спасибо код работает прекрасно!
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Немного изменил решение, чтобы артикулы шли по порядку, сделал так:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

У себя сделал константно jos_vm_product.

Подскажите как сделать чтобы следующее значение артикула ставилось по шаблону, например 0000083, 0000084 и т.д.
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Помогите пожалуйста решить проблему, автоматически артикул присваивается только до 100 включительно, 101, 102 и т.д. не ставится. Может где-то ошибка в коде? В итоге у меня создается несколько товаров с артикулом 100, соответственно из них на сайте отображается только один  :(
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Прошу повторно, поиск не дал результатов, а проблема имеет место быть.
*

tagilnext

  • Захожу иногда
  • 71
  • 2 / 0
У кого не работает этот код:

Код
if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

или артикул идет только до 10, нужно изменить тип поля product_sku с VARCHAR на int установить длину поля с 64 на вашу и по умолчанию сделать - нет.
После этого все работает.
*

TULLIVER

  • Осваиваюсь на форуме
  • 26
  • 6 / 0
А по подробнее можно, а то не совсем понятно где менять тип поля и длину!
*

TULLIVER

  • Осваиваюсь на форуме
  • 26
  • 6 / 0
Цитировать
tagilnext

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

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
У кого не работает этот код:

Код
if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

или артикул идет только до 10, нужно изменить тип поля product_sku с VARCHAR на int установить длину поля с 64 на вашу и по умолчанию сделать - нет.
После этого все работает.

Не понял где это все менять, расскажите пожалуйста подробнее.
*

TULLIVER

  • Осваиваюсь на форуме
  • 26
  • 6 / 0
Цитировать
product_sku с VARCHAR на int установить длину поля с 64 на вашу и по умолчанию сделать - нет.

phpmyadmin -> выбераете базу -> выбераете таблицу -> сверху выбераете структура -> напротив нужного поля изменить - > в типе ставите int, значение длина 11( это говорит что максимальное число будет состоять из 11 символов например 99999999999, я думаю этого хватит с запасом ) по умолчанию ставите нет.

готово
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
phpmyadmin -> выбераете базу -> выбераете таблицу -> сверху выбераете структура -> напротив нужного поля изменить - > в типе ставите int, значение длина 11( это говорит что максимальное число будет состоять из 11 символов например 99999999999, я думаю этого хватит с запасом ) по умолчанию ставите нет.
готово

Спасибо за ответ, все работает! +1
*

andalit

  • Новичок
  • 4
  • 0 / 0
а нельзя в базе просто сделать Auto incr ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести в корзине заказа VirtueMart вес заказанного товара в кг?

Автор pavel55

Ответов: 1
Просмотров: 2943
Последний ответ 27.07.2015, 17:46:17
от BHy4eK
VirtuemartCare. Сервисный компонент для VirtueMart.

Автор beagler

Ответов: 73
Просмотров: 16774
Последний ответ 08.05.2015, 20:56:47
от beagler
Модуль "VirtueMart Currency Selector". Как устанавливать курс.

Автор MOHCTPUK

Ответов: 58
Просмотров: 42267
Последний ответ 06.05.2015, 11:07:45
от One
Массовое изменение цен в VirtueMart. Что я делаю не так?

Автор Naima

Ответов: 15
Просмотров: 9777
Последний ответ 12.03.2015, 17:41:10
от mrspm
Добавление параметров атрибута

Автор Afelua

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