Новости Joomla

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

juddi

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Добрый день.

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

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

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

Физлица  

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


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

« Последнее редактирование: 03.07.2015, 09:53:55 от b2z »
*

juddi

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Блог материалов категории
« Ответ #1 : 13.01.2015, 10: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

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Блог материалов категории
« Ответ #2 : 13.01.2015, 18:49:32 »
Правильнее
Код: php
ContentHelperRoute::getArticleRoute($concert->id, $child->id, $concert->language);

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

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

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

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


Код: php
$db = JFactory::getDbo();
$query = $db->getQuery(true)
    ->select('id, title, language')
    ->from('#__content')
    ->where('catid = ' . (int) $child->id)
    ->where('state > 0');
*

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Re: Блог материалов категории
« Ответ #3 : 02.07.2015, 14: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

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Re: Блог материалов категории
« Ответ #5 : 02.07.2015, 17:41:53 »
Как-то странно, потому что запрос выглядит верным.
Вот в том то и дело, все выглядит правильным: возьми поля такие-то, из таблицы такой-то, при условии что ИД категории = тому-то. А в ответ получаю: "вот тебе ИД, вот тебе титл, а из каких это таблиц и по каким условиям - не знаю".
Попробовал код из второго поста, там все работает нормально.

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

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Блог материалов категории
« Ответ #6 : 02.07.2015, 20:00:31 »
Если сделать echo $query->dump(); перед $res= $db->loadObjectList(); что показывает?
*

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Re: Блог материалов категории
« Ответ #7 : 03.07.2015, 09:31:00 »
Если сделать echo $query->dump(); перед $res= $db->loadObjectList(); что показывает?
И тут вроде все правильно показывает:
Код
SELECT id, title
FROM ov6ks_content
WHERE catid = 10 AND state > 0

Спойлер
[свернуть]
« Последнее редактирование: 03.07.2015, 09:42:37 от master-smeta »
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Блог материалов категории
« Ответ #8 : 03.07.2015, 09:47:39 »
Где $db->setQuery($query); ? У вас выполняется предыдущий запрос, а не тот который написали.
*

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Re: Блог материалов категории
« Ответ #9 : 03.07.2015, 09:52:40 »
Где $db->setQuery($query); ? У вас выполняется предыдущий запрос, а не тот который написали.
ой, да, случайно закомментировал вместе с $query = 'SELECT `id`, `title`, `language` FROM `#__content` WHERE `catid`='.$child->id.'  AND `state`>0';

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

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Блог материалов категории
« Ответ #10 : 03.07.2015, 09:52:49 »
Где $db->setQuery($query); ? У вас выполняется предыдущий запрос, а не тот который написали.
Глазастый :)
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Блог материалов категории
« Ответ #11 : 03.07.2015, 09:53:39 »
ой, да, случайно закомментировал вместе с $query = 'SELECT `id`, `title`, `language` FROM `#__content` WHERE `catid`='.$child->id.'  AND `state`>0';

Самое странное, что теперь все работает. Тот код, который вчера выдавал ерунду, сегодня работает нормально. Может нужно было сервер перезагрузить? Но это же бред...
В общем, сейчас все работает, всем спасибо за помощь
Ну так, setQuery() устанавливает строку запроса. Без этого никуда ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Перестали работать переходы по меню сайта

Автор AlexP750

Ответов: 12
Просмотров: 548
Последний ответ 06.02.2024, 12:42:26
от AlexP750
Блог | Тайтл, description подкатегории

Автор darkghost

Ответов: 0
Просмотров: 203
Последний ответ 02.02.2024, 22:25:53
от darkghost
Не удается разблокировать в менеджере материалов.

Автор vityavoluevich

Ответов: 0
Просмотров: 242
Последний ответ 10.01.2024, 09:05:30
от vityavoluevich
Поиск в Материал- Блог категории

Автор mag_num83

Ответов: 1
Просмотров: 327
Последний ответ 14.09.2023, 20:36:34
от beliyadm
Модуль «Материалы - Новости» выводит неправильное количество материалов

Автор goga_pgasovav

Ответов: 1
Просмотров: 397
Последний ответ 20.03.2023, 19:30:45
от goga_pgasovav