Приложения (Модуль Apps phpFox 3)

22:42 8.06.2017
Если перейти в раздел "приложений" (apps) - "Установленные приложения", которые помещаются на одной странице, то $this->search()->browse()->getCount() будет содержать в себе количество всех приложений на сайте. В результате чего на странице установленных приложений отображается пагинация, даже если установленных приложений всего одно. Переход на следующею страницу по пагинации приводит к 404 ошибке.

Написал временное решение. Открываем: module/apps/include/component/controller/index.class.php, находим:
			case 'installed':
				Phpfox::isUser(true);

И ниже добавляем:
				if (!empty($category))
				{
					$countInstalled = Phpfox::getLib('database')
						->select('COUNT(*)')
						->from(Phpfox::getT('app_installed'), 'ai')
						->join(Phpfox::getT('app_category_data'), 'acd', 'acd.category_id = ' . $category . ' AND acd.app_id = ai.app_id')
						->where('ai.user_id = ' . Phpfox::getUserId())
						->execute('getSlaveField');
				}
				else
				{
					$countInstalled = Phpfox::getLib('database')
						->select('COUNT(*)')
						->from(Phpfox::getT('app_installed'))
						->where('user_id = ' . Phpfox::getUserId())
						->execute('getSlaveField');
				}

Дальше, находим:
				'count' => $this->search()->browse()->getCount()

И меняем на:
				'count' => !empty($countInstalled) ? $countInstalled : $this->search()->browse()->getCount()

Готово!

Будьте внимательны, названия моих переменных может отличаться от ваших.