Как подсчитать программно количество товара и вывести на страницу?
- zx16
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 12
- Спасибо получено: 0
11 года 7 мес. назад #5060
от zx16
zx16 создал тему: Как подсчитать программно количество товара и вывести на страницу?
Добрый вечер, уважаемые специалисты, как сделать подсчет товара в virtuemarte 2 и вывести все это, к примеру, на главную страницу? Ну вот просто нужно что бы на главной была яркая строка с надписью У НАС УЖЕ ... ТОВАРОВ!! спасибо всем заранее за ответ.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
Less
Больше
- Сообщений: 2868
- Спасибо получено: 659
11 года 7 мес. назад - 11 года 7 мес. назад #5065
от Wedal
Wedal ответил в теме Как подсчитать программно количество товара и вывести на страницу?
zx16, не знаю, есть ли готовая функция в VM2, но можно простейшим запросом в БД.
Code:
$db = JFactory::getDBO();
$query = "SELECT COUNT(*) FROM #__virtuemart_products";
$db->setQuery($query);
$count = $db->loadResult();
echo $count;
Последнее редактирование: 11 года 7 мес. назад пользователем Wedal.
Спасибо сказали: zx16
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- zx16
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 12
- Спасибо получено: 0
11 года 7 мес. назад - 11 года 7 мес. назад #5074
от zx16
zx16 ответил в теме Как подсчитать программно количество товара и вывести на страницу?
Последнее редактирование: 11 года 7 мес. назад пользователем zx16.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
Less
Больше
- Сообщений: 2868
- Спасибо получено: 659
11 года 7 мес. назад #5079
от Wedal
Wedal ответил в теме Как подсчитать программно количество товара и вывести на страницу?
zx16, пожалуйста. А склонения слова "товаров" вы сделали?
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- zx16
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 12
- Спасибо получено: 0
11 года 7 мес. назад #5086
от zx16
zx16 ответил в теме Как подсчитать программно количество товара и вывести на страницу?
Нет(( поменял на КОЛИЧЕСТВО ВЕЩЕЙ НА САЙТЕ УЖЕ ...! А не подскажете, как склонение сделать?
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
Less
Больше
- Сообщений: 2868
- Спасибо получено: 659
11 года 7 мес. назад #5091
от Wedal
Wedal ответил в теме Как подсчитать программно количество товара и вывести на страницу?
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- zx16
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 12
- Спасибо получено: 0
11 года 7 мес. назад - 11 года 7 мес. назад #5100
от zx16
Вот так, вродь всё работает, честно, я не очень разбираюсь в php, ну вот так вышло, только начал, так вот хотел спросить, правильно всё тут? Это ведь запрос к базе данных, а с ней шутки плохи)
zx16 ответил в теме Как подсчитать программно количество товара и вывести на страницу?
Code:
<?php
function declOfNum($number, $titles)
{
$cases = array (2, 0, 1, 1, 1, 2);
return $number." ".$titles[ ($number%100 > 4 && $number %100 < 20) ? 2 : $cases[min($number%10, 5)] ];
}
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
$db = JFactory::getDBO();
$query = "SELECT COUNT(*) FROM #__virtuemart_products";
$db->setQuery($query);
$count = $db->loadResult();
echo 'На сайте уже '.declOfNum($count, array('товар!', 'товара!', 'товаров!'));
?>
Вот так, вродь всё работает, честно, я не очень разбираюсь в php, ну вот так вышло, только начал, так вот хотел спросить, правильно всё тут? Это ведь запрос к базе данных, а с ней шутки плохи)
Последнее редактирование: 11 года 7 мес. назад пользователем zx16.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
Less
Больше
- Сообщений: 2868
- Спасибо получено: 659
11 года 7 мес. назад #5106
от Wedal
Wedal ответил в теме Как подсчитать программно количество товара и вывести на страницу?
zx16, нормально, только строчка:
всегда ставится первой и запрещает прямой доступ к файлу.
Далее хорошо было бы предусмотреть кэширование, чтобы этот запрос не делался каждый раз для каждого пользователя. Но это уже другая история.
Code:
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
Далее хорошо было бы предусмотреть кэширование, чтобы этот запрос не делался каждый раз для каждого пользователя. Но это уже другая история.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- zx16
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 12
- Спасибо получено: 0
11 года 7 мес. назад #5114
от zx16
zx16 ответил в теме Как подсчитать программно количество товара и вывести на страницу?
ааа, да да, правильно, меня именно это функция смущала, вернее ее место положение.. А вот про кэширование, я делаю магазин, на разработку движка денег пожалел, ибо не заю как оно пойдет дальше, а если оно пойдет, и в день будет куча польователей, так они мне поставят на колени базу и сайт ?? Нужно нужно копаться и разбираться с кешированием, так как мне очень нужен это модуль по подсчету товара, он украшает сайт, прям как его и не хватало только)) Wedal, спасибо огромное за помощь!!
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- zx16
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 12
- Спасибо получено: 0
11 года 7 мес. назад #5126
от zx16
zx16 ответил в теме Как подсчитать программно количество товара и вывести на страницу?
Решил добавить кэширование, для этого изменил файл mod_total.php
работает все после того как в джумле включаем кэширование, но понял скоро, что можно было и не редактировать файл xml, так как джумла кэширует всё) или опять я что то не так понял
Code:
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" method="upgrade">
<!-- Модуль вывода количества товара -->
<name>mod_total</name>
<version>0.0.1</version>
<!-- Описание, не обязательно, по умолчанию использеуется имя модуля -->
<description>Модуль считает количество товаров</description>
<files>
<filename module="mod_total">mod_total.php</filename>
<filename>mod_total.xml</filename>
<filename>index.html</filename>
</files>
<config>
<fields name="params">
<fieldset name="advanced">
<field name="cache" type="list" default="0" label="Включить" description="Включение кэширования">
<option value="1">да</option>
<option value="0">нет</option>
</field>
<field name="cache_time" type="text" default="900" label="Время жизни кэша" description="секунды" />
</fieldset>
</fields>
</config>
</extension>
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.