Jump to content


Photo
- - - - -

Как на главной странице каталога выдать количество товаров


Best Answer Станислав , 14 August 2013 - 02:02

Тогда вот так - выводит только активные searchable из приложения с id=2

$db = JFactory::getDBO();
$query = "SELECT count(id) FROM #__zoo_item
WHERE searchable = 1 AND application_id = 2 AND state = 1";
$db->setQuery($query);
echo "Всего товаров: "  . $db->loadResult();
Go to the full post


  • This topic is locked This topic is locked
5 replies to this topic

#1 iserbinov

iserbinov
  • JBZoo User (rus)
  • User rate: 0
  • posts: 21
  • topics: 10

Posted 12 August 2013 - 17:28

Подскажите, пожалуйста, как на главной странице каталога выдать количество товаров.
 

Т.е. аналогично тому, что появляется в результате поиска "Всего найдено: 11111", только текст другой "Всего товаров: 11111"

 


  • 0

#2 Станислав

Станислав
  • JBZoo User (rus)
  • User rate: 18
  • posts: 211
  • topics: 7

Posted 12 August 2013 - 22:48

Ответ, вообще-то зависит от того, как организован ваш каталог товаров   ;)
Если предположить, что у вас все товары в одном приложении, нет деактивированных и вы используете шаблон по умолчанию, то общее количество записей в приложении можно вывести на фронтпейдж так:

В media\zoo\applications\jbuniversal\templates\catalog\renderer\frontpage\_default.php найдите строку 25

$title = $title ? $title : $category->name;

и после нее (или в любое удобное место) добавьте:

echo "Всего товаров: " . $this->app->table->item->getApplicationItemCount(<id приложения>);

где <id приложения> - id вашего приложения, например

echo "Всего товаров: " . $this->app->table->item->getApplicationItemCount(1);

  • 1

«Ну и зачем все это, лучше бы водки выпили». Из писем Белинского Гоголю.

 


#3 iserbinov

iserbinov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 21
  • topics: 10

Posted 13 August 2013 - 14:11

 

Ответ, вообще-то зависит от того, как организован ваш каталог товаров   ;)
Если предположить, что у вас все товары в одном приложении, нет деактивированных и вы используете шаблон по умолчанию, то общее количество записей в приложении можно вывести на фронтпейдж так:

В media\zoo\applications\jbuniversal\templates\catalog\renderer\frontpage\_default.php найдите строку 25

$title = $title ? $title : $category->name;

и после нее (или в любое удобное место) добавьте:

echo "Всего товаров: " . $this->app->table->item->getApplicationItemCount(<id приложения>);

где <id приложения> - id вашего приложения, например

echo "Всего товаров: " . $this->app->table->item->getApplicationItemCount(1);

Спасибо за ответ. Это, вероятно, в 2-й версии, у меня сайт еще на 1.6, там в media\zoo\applications\jbuniversal\templates\catalog\renderer\frontpage\_default.php нет указанных строк.


  • 0

#4 Станислав

Станислав
  • JBZoo User (rus)
  • User rate: 18
  • posts: 211
  • topics: 7

Posted 13 August 2013 - 14:41

Спасибо за ответ. Это, вероятно, в 2-й версии, у меня сайт еще на 1.6, там в media\zoo\applications\jbuniversal\templates\catalog\renderer\frontpage\_default.php нет указанных строк.

 

Для 1.6 - после 

$image = $this->app->jbimage->get('category_image', $vars['params']);  

  • 1

«Ну и зачем все это, лучше бы водки выпили». Из писем Белинского Гоголю.

 


#5 iserbinov

iserbinov
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 21
  • topics: 10

Posted 13 August 2013 - 17:52

 

Ответ, вообще-то зависит от того, как организован ваш каталог товаров   ;)
Если предположить, что у вас все товары в одном приложении, нет деактивированных и вы используете шаблон по умолчанию, то общее количество записей в приложении можно вывести на фронтпейдж так:

В media\zoo\applications\jbuniversal\templates\catalog\renderer\frontpage\_default.php найдите строку 25

$title = $title ? $title : $category->name;

и после нее (или в любое удобное место) добавьте:

echo "Всего товаров: " . $this->app->table->item->getApplicationItemCount(<id приложения>);

где <id приложения> - id вашего приложения, например

echo "Всего товаров: " . $this->app->table->item->getApplicationItemCount(1);

Спасибо, так получилось, вместо   <id приложения> я поставил   $this->app->zoo->getApplication()->id, поскольку у меня 2 приложения.

У меня еще один вопрос: можно ли выдать не общее количество элементов, а только то, что в поиске (searchable).

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


  • 0

#6 Станислав

Станислав
  • JBZoo User (rus)
  • User rate: 18
  • posts: 211
  • topics: 7

Posted 14 August 2013 - 02:02   Best Answer

Тогда вот так - выводит только активные searchable из приложения с id=2

$db = JFactory::getDBO();
$query = "SELECT count(id) FROM #__zoo_item
WHERE searchable = 1 AND application_id = 2 AND state = 1";
$db->setQuery($query);
echo "Всего товаров: "  . $db->loadResult();

Edited by Станислав, 14 August 2013 - 02:03.

  • 0

«Ну и зачем все это, лучше бы водки выпили». Из писем Белинского Гоголю.

 





Click to return to top of page in style!