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

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Приветствую!
Собственно вопрос в заголовке. Почитал на форумах тема поднималась не раз. Может кто уже реализовал?
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Попробовал сделать вот так:
http://joomlaforum.ru/index.php/topic,285822.msg1414978.html#msg1414978
Работает только:
getListFooter() и getResultsCounter

Ссылки getPagesLinks не выводятся и не работают!
Вообще таким методом можно это сделать? или нужно глубже копать...
Может как схитрить можно?
Странно почему стандартно не предусмотрено, бред какой-то!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Ссылки getPagesLinks не выводятся и не работают!
Вообще таким методом можно это сделать?
Ага, должно работать, чето не так делаете значит. Они не выводятся только если лимит больше количества элементов.
интернет-блог: http://websiteprog.ru
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Всё работает, но вот в чем вопрос:

Код
	public function getItems()
{
if(!count($this->_items))
{
$app = JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
$params = new JRegistry();
if($active)
{
$params->loadString($active->params);
}
$options = array();
$options['countItems'] = $params->get('show_cat_items_cat', 1) || !$params->get('show_empty_categories_cat', 0);
$categories = JCategories::getInstance('Contact', $options);
$this->_parent = $categories->get($this->getState('filter.parentId', 'root'));
if(is_object($this->_parent))
{
$this->_items = $this->_parent->getChildren();
} else {
$this->_items = false;
}
}
////////// старый код return $this->_items;
        return $this->_getList( $this->getListQuery(), $this->limitstart, $this->limit );
        ////////// end
}
После изменения на getList, ругается на код в шаблоне (Fatal error: Call to undefined method stdClass::getChildren() in...):
Код
		<?php if(count($item->getChildren()) > 0) :
$this->items[$item->id] = $item->getChildren();
$this->parent = $item;
$this->maxLevelcat--;
echo $this->loadTemplate('items');
$this->parent = $item->getParent();
$this->maxLevelcat++;
endif; ?>
и не показывает кол-во материалов в категории.
Как исправить?
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Помогите разобраться!
Вывод подкатегорий мне не нужен, а вот кол-во материалов просто необходимо.
Почему не работает?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
А что у вас в методе getListQuery()? И что у вас в $item? Предполагаю что пустой объект..
интернет-блог: http://websiteprog.ru
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
А что у вас в методе getListQuery()?
Код
	protected function getListQuery()
{
$user = JFactory::getUser();
$groups = implode(',', $user->getAuthorisedViewLevels());

$db = $this->getDbo();
$query = $db->getQuery(true);

$query->select( '*' )->from( '#__categories' )->where( 'published=1' )->where( 'extension="com_contact"' )->where( 'level=2' );
return $query;
}

И что у вас в $item?
Вот тут не понял?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Ну так вы походу получаете список категорий как записей и пытаетесь на них вызвать метод getChildren() я так думаю, конечно у них нет такого метода помоему он из хелпера Jcategories
интернет-блог: http://websiteprog.ru
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
А как иначе?
Я вижу только один выход - тупо создать еще одну функцию с запросом и вывести кол-во материалов.
Не могу получить ID категории в модели чтобы реализовать такой запрос :
Код
ID=?
$sql = "select count(id) as artcount from #__contact_details where catid=ID";
$db->setQuery($sql);
$result = $db->loadObject();
return $result->artcount;
Ошибаюсь?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
А материалы вы как выводите? У вас в коде помоему только категории выводятся. У вас метод getitems возвращает список записей, можете эту запись в JCategories загнать как нибудь так:
Код: php
$categories = new JCategories(array('extension'=>'com_contact','table'=>'categories'));
foreach ($items as $item) {
  $category = $categories->get($item->id);
  $category->getChildren();
... // ну и дальше че у вас там по коду

Я хз может можно и красивее как-то сделать.

Не могу получить ID категории в модели чтобы реализовать такой запрос :

Почему не можете получить разве у вас getitems() метод не возвращает список объектов со свойством id ?
И для запрса такого вобще правильно использовать $result = $db->loadResult(); вместо $result = $db->loadObject();
« Последнее редактирование: 16.07.2014, 23:34:40 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
А материалы вы как выводите? У вас в коде помоему только категории выводятся.
Серёга это стандартный com_contact ну или  взять com_content (Список всех категорий) Я ничего не менял.
На J форуме тема поднималась, но так и не решили. Походу без костылей не обойтись!
Буду пробовать...


*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Почему не можете получить разве у вас getitems() метод не возвращает список объектов со свойством id ?
И для запрса такого вобще правильно использовать $result = $db->loadResult(); вместо $result = $db->loadObject();
Возвращает, в шаблоне вывожу
Код
 	<?php echo $item->id; ?>
как в моделе получить ?
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Вот что получилось:

categories.php:

Спойлер
[свернуть]

В шаблоне default_items.php пришлось вставить:
Код: php
<?php //echo $item->numitems; ?>
<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query = "SELECT count(id) FROM ".$db->nameQuote('#__contact_details')." WHERE catid = $item->id"." and published = 1";
$db->setQuery($query);
$result = $db->loadResult();
echo $result;
?>

И в конце шаблона :
Код: php
<form name="adminForm" method="post">
<div class="pagination">
<p class="counter">
<?php echo $this->pagination->getPagesCounter(); ?>
</p>
<?php echo $this->pagination->getPagesLinks(); ?>
</div>
</form>

Можно этот код использовать? Какие ошибки?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужно сделать Jquery Exit Popup

Автор olegtlt

Ответов: 2
Просмотров: 1981
Последний ответ 09.02.2016, 11:51:33
от Stomp
Как добавить новый столбец и сделать сортировку?

Автор artemka

Ответов: 10
Просмотров: 2400
Последний ответ 17.07.2014, 01:04:32
от artemka
Как установленный компонент сделать установочным файлом?

Автор ftorit

Ответов: 0
Просмотров: 959
Последний ответ 31.05.2014, 22:17:57
от ftorit
MySQL - цикл в цикле - как сделать проще

Автор verstalshik

Ответов: 30
Просмотров: 3055
Последний ответ 29.04.2014, 21:52:54
от robert
Добавление описания категорий в allvideoshare

Автор kefalia

Ответов: 0
Просмотров: 892
Последний ответ 24.04.2014, 15:53:59
от kefalia