Форум русской поддержки Joomla!® CMS
04.12.2016, 10:15:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[Решено] Блог материалов категории

 (Прочитано 365 раз)
0 Пользователей и 1 Гость смотрят эту тему.
juddi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 55


« : 13.01.2015, 11:38:00 »

Добрый день.

есть категория Участники, подкатегории Организации, Физлица. В подкатегориях есть материалы.

Как сделать такой вывод

Организации
  
          организация1                  организация2
          логотип                           логотип
          описание                         описание

Физлица  

          физлицо1                  физлицо2
          фото                         фото
          описание                   описание


Сделала пунк меню "блок категории", который ссылается на категорию Участники. Выводится названия подкатегорий. А нужно чтобы еще выводились и материалы подкатегорий в виде блога.
Спасибо.

« Последнее редактирование: 03.07.2015, 10:53:55 от b2z » Записан
juddi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 55


« Ответ #1 : 13.01.2015, 11:42:29 »

Получилось вывести материалы подкатегорий списком.
меняла файл blog_children.php
Код:
<ul>
                <?php
                    $db =& JFactory::getDBO();
                    $query = $db->getQuery(true);
                    $query = 'SELECT * FROM `iy58a_content` WHERE `catid`='.$child->id.'  AND `state`>0';
                    $db->setQuery($query);
                    $res= $db->loadObjectList();
                    foreach ($res as $concert) {
                        echo '<li>';
                       echo '<a href="'.JRoute::_(ContentHelperRoute::getArticleRoute($concert->id)).'">'.$concert->title.'</a>';

                        echo '</li>';
                    }
                ?>
            </ul>
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #2 : 13.01.2015, 19:49:32 »

Правильнее
Код
ContentHelperRoute::getArticleRoute($concert->id, $child->id, $concert->language);

И зачем выбирать все из content, если нужно только id и title? Ну и language

iy58a замените на #_

$db =& JFactory::getDBO();  - & уже давно не используется

Зачем получать объект запроса и потом использовать его как строку?


Код
$db = JFactory::getDbo();
$query = $db->getQuery(true)
   ->select('id, title, language')
   ->from('#__content')
   ->where('catid = ' . (int) $child->id)
   ->where('state > 0');
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #3 : 02.07.2015, 15:59:43 »

Показать текстовый блок
Здравствуйте. У меня аналогичная задача, вот только у меня из базы какую-то ерунду выбирает.
Итак, у меня переопределен макет блога категории. В нем необходимо вывести названия подкатегорий и названия материалов этих подкатегорий.
В файл mymaket_children.php добавляю код:
$db = JFactory::getDbo();
Код:
$query = $db->getQuery(true)
    ->select('id, title')
    ->from('#__content')
    ->where('catid = ' . (int)$child->id)
    ->where('state > 0');
$res= $db->loadObjectList();
а потом форычу результат:
Код:
<ul>
<?php
 foreach ($res as $wkch): ?>
   <li>
<span class="id"><?php echo $wkch->id; ?></span>
<span class="title"><?php echo $wkch->title; ?></span>
  </li>
<?php endforeach;?>
</ul>
и получаю вовсе не список материалов подкатегорий, а следующий результат:
Код:
1 ROOT - это корневая категория
9 WIKIтендер - это текущая категория
10 К - это ИД и название подкатегории, из которой собственно и нужно достать материалы.
Где цифра - ИД категории, а после нее - название категории.
Т.е. я получаю не материалы, а категории. Не могу понять почему
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #4 : 02.07.2015, 18:09:45 »

Как-то странно, потому что запрос выглядит верным.
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #5 : 02.07.2015, 18:41:53 »

Как-то странно, потому что запрос выглядит верным.
Вот в том то и дело, все выглядит правильным: возьми поля такие-то, из таблицы такой-то, при условии что ИД категории = тому-то. А в ответ получаю: "вот тебе ИД, вот тебе титл, а из каких это таблиц и по каким условиям - не знаю".
Попробовал код из второго поста, там все работает нормально.

ps кстати говоря, в таблице #__content я что-то не вижу названий категорий. Так что не понятно, откуда же они выцепились
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #6 : 02.07.2015, 21:00:31 »

Если сделать echo $query->dump(); перед $res= $db->loadObjectList(); что показывает?
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #7 : 03.07.2015, 10:31:00 »

Если сделать echo $query->dump(); перед $res= $db->loadObjectList(); что показывает?
И тут вроде все правильно показывает:
Код:
SELECT id, title
FROM ov6ks_content
WHERE catid = 10 AND state > 0

Показать текстовый блок
« Последнее редактирование: 03.07.2015, 10:42:37 от master-smeta » Записан
passer
Живу я здесь
******

Репутация: +69/-3
Offline Offline

Пол: Мужской
Сообщений: 829



« Ответ #8 : 03.07.2015, 10:47:39 »

Где $db->setQuery($query); ? У вас выполняется предыдущий запрос, а не тот который написали.
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #9 : 03.07.2015, 10:52:40 »

Где $db->setQuery($query); ? У вас выполняется предыдущий запрос, а не тот который написали.
ой, да, случайно закомментировал вместе с $query = 'SELECT `id`, `title`, `language` FROM `#__content` WHERE `catid`='.$child->id.'  AND `state`>0';

Самое странное, что теперь все работает. Тот код, который вчера выдавал ерунду, сегодня работает нормально. Может нужно было сервер перезагрузить? Но это же бред...
В общем, сейчас все работает, всем спасибо за помощь
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #10 : 03.07.2015, 10:52:49 »

Где $db->setQuery($query); ? У вас выполняется предыдущий запрос, а не тот который написали.
Глазастый Azn
Записан
b2z
Support Team
*****

Репутация: +707/-0
Offline Offline

Пол: Мужской
Сообщений: 7517


Разраблю понемногу


« Ответ #11 : 03.07.2015, 10:53:39 »

ой, да, случайно закомментировал вместе с $query = 'SELECT `id`, `title`, `language` FROM `#__content` WHERE `catid`='.$child->id.'  AND `state`>0';

Самое странное, что теперь все работает. Тот код, который вчера выдавал ерунду, сегодня работает нормально. Может нужно было сервер перезагрузить? Но это же бред...
В общем, сейчас все работает, всем спасибо за помощь
Ну так, setQuery() устанавливает строку запроса. Без этого никуда Wink
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet