Новости Joomla

Совет по 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 Гость просматривают эту тему.
  • 43 Ответов
  • 2282 Просмотров
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Здравствуйте.
VirtueMart 3.4.2 / Joomla! 3.8.12 / protostar /

На странице категории необходимо с помощью ярлычка навешиваемого на изображение товара, выделить этот товар. "скидка, новинка и др." с использованием настраиваемого поля "изображение". Найдены решения для VirtueMart2 не работают с версией VirtueMart 3.4.2.
Надеюсь на Вашу помощь.
Подскажите код выводящий настраиваемые поля на странице категории.
,,, / templates / protostar / HTML / com_virtuemart / sublayouts / products.php
Код
// Show Products ?>

<div class="product vm-col<?php echo ' vm-col-' . $products_per_row . $show_vertical_separator ?>">
<div class="spacer product-container">
<div class="vm-product-media-container">
<a title="<?php echo $product->product_name ?>" href="<?php echo $product->link.$ItemidStr; ?>">
<?php
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>
?
?
</div>
« Последнее редактирование: 19.03.2019, 20:26:43 от Елeна »
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
"скидка, новинка и др."
Я извиняюсь может я не в тему но  -
я бы советовал ярлычок скидки выводить в зависимости от цены - от есть если - скидка на этот товар то и выводить ...
Вы же интернет магазин делаете - а друг там 2000 товаров и всего на 300 надо повесить ярлык СКИДКА - понимаете сколько это время займет !
Тоже и с новинками !
Эти ярлыки не должны быть просто картинками ...
Они должны соответствовать состояниям товара  !
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Спасибо за участие.
Если  неправильно поняла возможности, поправьте.
Создаю настраиваемое поле "Изображение" заливаю нужные мне изображения в images/virtuemart/product. После в администрировании товара, включаю его и выбираю нужное мне изображение.
--
Задача и трудность в том, что спортивный костюм, категория одна, но есть трикотаж и плащёвка. Повесить надпись информирующую о ткани.
Спасибо.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Вставьте в нужное место файла sublayouts / products.php
Код
echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'my_pos'));
Назначьте позицию для кастом поля my_pos. Не тестил.
п.с.
Протестил- работает.
« Последнее редактирование: 18.03.2019, 20:53:01 от draff »
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Что упускаю:
--
Настраиваемое поле "изображение" позиция макета "my_pos"
--
код
Код
echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'my_pos'));
или. зависит от места
Код
<?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'my_pos'));?>
вставляю в файл,,, / templates / protostar / HTML / com_virtuemart / sublayouts / products.php
--
изображения синхронизировала с VirtueMart

Всё просто, но почему не работает?

Спасибо.
« Последнее редактирование: 19.03.2019, 10:14:44 от Елeна »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
или. зависит от места
Код
<div class="vm-product-media-container">
<?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'my_pos')); ?>
В товаре выбрано значение для кастом поля?
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Цитировать
В товаре выбрано значение для кастом поля?
нет. В самом товаре выбираю нужное настраиваемое поле. Позицию указываю в самом кастом поле.
 скрин
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Проверьте в кастом поле тип строка указать эту позицию. Если выведет строку, то нужно искать причину трабл с картинкой. Я не указывал размеры картинки в кастом поле.
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Нет результата.
скрин
Строка даже интереснее, чем изображение.

*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Какие ярлычки вам нужны? Если что-то вроде таких:
is-mag .ru
(в уголках картинок)
то их лучше стилями сделать. а в товарах добавлять класс для скидки/новинки/и пр.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Спасибо за участие.
Да, на странице категории, среди прочих товаров нужно выделить один или несколько. Картинкой или другим способом.
нечто похожее

*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Обычно делаю так:
В шаблоне категории ставлю условие (в цикле, где товары выводятся) и, если по условию товар должен быть выделен, блоку этого товара добавляется соотв. класс. А потом в CSS настраиваю вывод ярлычков поверх товара по этим классам.
Постарайтесь сделать так, чтоб классы подставлялись (для этого ftp доступ нужен). А с правилами CSS поможем.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
В этом способе мне помощь нужна не только CSS, но и с остальным.

что нужно для успешной реализации задуманного?


« Последнее редактирование: 19.03.2019, 11:51:49 от Елeна »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Ну тогда просто определите что в нужном файле вносятся изменения, очистите кеш, etc
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
кеш очищаю после каждого изменения ctrl+f5
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
что нужно для успешной реализации задуманного?
сайт admin/1111
См. приватное сообщение. А доступ к админке прикройте поскорее...
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Удалила весь кеш (устаревший и свежий) в админке VirtueMart
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Что мне сделать, чтоб не работало как у Вас .
Пропишите любое слово для проверки перед вызовом макета кастом поля
Код
<div class="vm-product-media-container">Test
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Есть.Тестовая надпись.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Ну у меня нет больше вариантов, без проверки всех параметров. Скрин значений кастом полей

Товар посредине выводит 2 значения кастом поле товара в списке товара


*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Ребята! Вопрос не решается!! Необходима подсказка как и что сделать! Указать на ошибку.
Откат на более позднею версию VirtueMart 3.2.14 и смена одного шаблона по умолчанию Protostar на другой Vmbeez3 положительного результата не принесло.
в фале
,,, / templates / protostar / HTML / com_virtuemart / sublayouts /products.php
вставляю код для вывода настраиваемого поля на странице категории.
Код
<div class="vm-product-media-container">
тестовая проверка
                <?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'my_pos')); ?>
в итоге тестовая надпись есть, настраиваемого поля "изображение" "строка" нет.

Спасибо.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Кастом поле выводится в стандартной позиции  ?
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
« Последнее редактирование: 20.03.2019, 22:59:19 от Елeна »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Мы не проверяли вывод в стандартной позиции. Может вообще не выводится кастом поле.
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
в стандартной позиции выводится оба поля "строка" и "изображение"
 скрин
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Пробуем со стандартной позицией, только в нужном месте. Замените в параметрах настраиваемого поля позицию на ontop. И замените вызов
Код
<div class="vm-product-media-container">
<?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'ontop')); ?>
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Поля в карточке товара.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Поля в карточке товара.
В смысле ? Если выводятся, то попробуйте позицию без _ , как mypos
*

Елeна

  • Захожу иногда
  • 101
  • 2 / 0
Если меняю позицию на "my_pos" в файле "products" и в настройках кастом-поля, их нет нигде. ни в карточке ни в категории.
Если в файле products позиция  ontop, и в настройках  ontop  оба поля внутри карточки товара. Так-же если позиция не указана, поля в карточке товара
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение полей CF в карточке товара

Автор farmer66

Ответов: 2
Просмотров: 2332
Последний ответ 17.02.2023, 13:39:18
от farmer66
Вывод изображений настраиваемого поля в карточке товара

Автор wasssup

Ответов: 0
Просмотров: 2413
Последний ответ 05.07.2022, 08:51:19
от wasssup
Умножение свойств товара в настраиваемом поле атрибут корзины

Автор cvoboda

Ответов: 22
Просмотров: 4775
Последний ответ 20.10.2020, 11:54:13
от NIKOLY
Вывод настраиваемых полей в категории

Автор gm35

Ответов: 5
Просмотров: 1847
Последний ответ 14.08.2020, 21:20:24
от vladimirpetrovich
Как удалить дочерние товары в карточке товара VM 2?

Автор zeus07

Ответов: 0
Просмотров: 1063
Последний ответ 12.05.2020, 14:51:39
от zeus07