Joomla 1.5 Подскажите как добавить в массив данных свои значения

Тема в разделе "Модернизация расширений", создана пользователем Fanamura, 20.10.2009.

  1. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Все пытаюсь вникнуть в программирование под Джумлу...
    Есть код:
    Код (PHP):
    1. $query = 'SELECT a.*, u.id, u.name, [B]COUNT(com.id)[/B]' .
    2.             ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
    3.             ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
    4.             ' FROM #__content AS a' .
    5.             ($show_front == '0' ? ' LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id' : '') .
    6.             ' LEFT JOIN #__users AS u ON u.id = a.created_by' .
    7.             [B]' LEFT JOIN #__jcomments AS com ON com.object_id = a.id' .[/B]
    8.             ' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
    9.             ' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
    10.             ' WHERE '. $where .' AND s.id > 0' .
    11.             ($access ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
    12.             ($catid ? $catCondition : '').
    13.             ($secid ? $secCondition : '').
    14.             "\n AND ((TO_DAYS('" . date( 'Y-m-d', time()+$tzoffset*60*60 ) . "') ) )".
    15.             ($show_front == '0' ? ' AND f.content_id IS NULL ' : '').
    16.             ' AND s.published = 1' .
    17.             ' AND cc.published = 1' .
    18.             ' ORDER BY '. $ordering;
    19.         $db->setQuery($query, 0, $count);
    20.         $rows = $db->loadObjectList();
    21.         $i      = 0;
    22.         $lists  = array();
    23.         foreach ( $rows as $row )
    24.         {
    25.             if($row->access <= $aid)
    26.             {
    27.                 $lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));
    28.             } else {
    29.                 $lists[$i]->link = JRoute::_('index.php?option=com_user&view=login');
    30.             }
    31.             $lists[$i]->text = htmlspecialchars( $row->title );

    это: COUNT(com.id) и ' LEFT JOIN #__jcomments AS com ON com.object_id = a.id' . я добавил, все остальное от другого скрипта, работающего надо сказать, так с моими дополнениями получаю фиг с маслом, т.е. ничего :)

    Если не трудно подскажите, как вывести в массив row-> мои данные данные?
    PS: я считаю количество комментариев к определенным статьям и пытаюсь из helper.php получить чего хочу для вывода в шаблоне :) идеально было бы получить row->comments
     
  2.  
  3. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    SELECT a.id, COUNT(com.id) FROM #__content AS a LEFT JOIN #__jcomments AS com ON com.object_id = a.id

    Этот запрос отдаст тебе количество комментариев к каждой статье. По идее :) Тебе ведь это надо?
     
  4. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Dead Krolik, по идее должен, но не выводит, более того, модуль не выводит вообще ничего))))
     
  5. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Что значит не выводит. Ты пихаешь в пхпМайАдмин и он тебе 0 рядов возвращает, а комментарии есть?
     
  6. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Dead Krolik, #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2 от так то
     
  7. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Прямо вот так вот с #__ вставляешь? И по идее проверки по onbect_id недостаточно, там ведь комментарии не только к статьям можно делать. Где-то надо еще и тип указывать.
     
  8. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Dead Krolik, прям так: SELECT a.id, COUNT(com.id) FROM #__content AS a LEFT JOIN #__jcomments AS com ON com.object_id = a.id
    А тут же мы проверяем по id, а тут тип уже не важен, по идее...
     
  9. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    попробуйте использовать конкретные имена таблиц, а не шаблоны. jos_content, например, вместо #__content и т.д.
     

Поделиться этой страницей

Загрузка...