Новости Joomla

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

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Здравствуйте уважаемые гуру программирования.
Подскажите пожалуйста как реализовать счетчик всех товаров JoomShopping которые находятся на сайте и вывести этот счетчик в любое удобное место на сайте, то есть число всех товаров на сайте. За ранее Спасибо.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
есть готовый модуль, оказывается.
но он неправильный, т.к. коряво данные получает )
надо поставить модуль произвольного кода, flexi_customcode, например, и в нем сделать 1 запрос в базу.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
модуль
https://extensions.joomla.org/extension/flexi-custom-code/

код. этот работает, но можно более оптимальным сделать /призываются тру программеры  ;D/

Код
<?php
$db=JFactory::getDBO();
$query=$db->getQuery(true);
$query->select(COUNT('product_id'));
$query->where('product_publish = 1');
$query->from('#__jshopping_products');
$db->setQuery($query);
$rows=$db->loadObjectList();

echo "<div class='rpod_c'>".count((array)$rows)."</div>";
?>
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну как его более оптимальным сделать? :) ну разве что так

Код
$rows = $db->setQuery(
$db->getQuery(true)
   ->select('count(*)')
   ->from($db->qn('#__jshopping_products'))
   ->where($db->qn('product_publish'). ' = 1')
   ->where($db->qn('parent_id'). ' = 0')
)->loadObjectList();

условие parent_id нужно чтобы не попали в выборку товары-зависимые атрибуты, они тоже каждый хранится в этой же таблице. и вот тут
Цитировать
$query->select(COUNT('product_id'));
кавычки пропустили

P.S. а самый оптимальный вариант - это берем html модуль, и пишем Товаров 1234 :) кому оно там надо, сколько у нас реально товаров, кто их считать будет?
« Последнее редактирование: 10.11.2017, 20:18:03 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
короче запись, не надо думать над кавычками, не надо думать как называется поле первичного ключа :) только в этом. с точки зрения оптимизации MySQL нет разницы между * и первичным ключом. разница была бы если бы поле по которому делаем count могло иметь null-значения, но первичный ключ не может, поэтому по скорости все равно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Спасибо вам большое. То что нужно.
Простите за наглость, а возможно ли так же вывести новые поступления товара?
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
effrit: это не то, вывести точно так же число новых поступлений как и общее количество товара на сайте.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
что такое "новых поступлений"?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
угу. если вы метки будете выбирать для новинок - то можно.
иначе новые от не новых только датой отличаются.
типа, вчерашний товар - это новый или уже старый?  ;D (философский вопрос уже, джумла с такими плохо справляется)
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Спасибо и за эту помощь. +++
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться