[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблемы с модулями
HELLRIDER
Помогите, пожалуйста.

В джумле ни с того, ни с сего начало выдавать ошибки:

Warning: Invalid argument supplied for foreach() in /home/eball/public_html/modules/ mod_latestnews/helper.php on line 105

Warning: Invalid argument supplied for foreach() in /home/eball/public_html/modules/ mod_mostread/helper.php on line 75

и так почти на все модули. В указанных строках ( $rows as $row ))

Обновил Joomla до 20-ки - не помогло. Алиасы прописаны латиницей.
Содержимое модулей не показывает.
Админы хостинга проверяли базы данных - там все нормально.
Заоранее спасибо.



Спустя 12 минут, 5 секунд (14.08.2010 - 11:59) FatCat написал(а):
print_r($rows) посмотри что показывает и посмотри откуда и как формируется переменная $rows.

Спустя 59 минут, 21 секунда (14.08.2010 - 12:58) HELLRIDER написал(а):
В файле helper.php
написано

$rows = $db->loadObjectList();


print_r($rows)
Не нашел нигде:(

Спустя 2 минуты, 35 секунд (14.08.2010 - 13:01) Lenarfate написал(а):
че ты там искал. впиши print_r($rows) и посмотри, что выдает.

Цитата
print_r() выводит пригодную для чтения человеком информацию о переменной. Если задано string, integer или float, печатается само значение. Если задан array, значения будут представлены в формате с показом ключей и элементов. Аналогичная нотация используется для object.

Спустя 4 часа, 16 минут, 5 секунд (14.08.2010 - 17:17) HELLRIDER написал(а):
Lenarfate

Я прошу прощения, ибо не знаток в этом деле:)

Куда вписать и ка кпроверить? В каком файле?
Какие данные мне нужно смотреть?

Спустя 2 минуты, 15 секунд (14.08.2010 - 17:19) Lenarfate написал(а):
/home/eball/public_html/modules/ mod_latestnews/helper.php
в этот файл в коней впши print_r($rows) и посмотри что выводит.

Спустя 17 минут, 35 секунд (14.08.2010 - 17:36) HELLRIDER написал(а):
Когда вписываешь print_r($rows) в конце файлы или в любое место - выдает ошибку - Parse error: syntax error, unexpected $end in /home/eball/public_html/modules/mod_mostread/helper.php on line 90

Спустя 1 минута, 40 секунд (14.08.2010 - 17:38) Lenarfate написал(а):
я тебе советую пойти сюда http://irbis-team.com/15/1
твои вопросы уровня "первый раз вижу компьютер"

Спустя 2 минуты, 41 секунда (14.08.2010 - 17:41) HELLRIDER написал(а):
А что это великий грех? Или тут помощь оказывают только профессионалам?
ты не поверишь, но даже таким далеким как я бывает дают советы и до меня (опять не поверишь!) доходит.

Если желания помочь нет, а времени жалко своего тратить - зачем тогда встревать?

Спустя 3 минуты, 28 секунд (14.08.2010 - 17:44) Lenarfate написал(а):
Цитата
Когда вписываешь print_r($rows) в конце файлы или в любое место - выдает ошибку -

ты знаешь, что в конце каждого выражения нужно ставить ;

Спустя 13 минут, 8 секунд (14.08.2010 - 17:57) HELLRIDER написал(а):
Все равно ошибку ту же выдает.....

Спустя 23 минуты, 9 секунд (14.08.2010 - 18:21) Lenarfate написал(а):
где то забыл поставить ;

Спустя 12 минут, 17 секунд (14.08.2010 - 18:33) HELLRIDER написал(а):
Ничего не поменялось.
И на всех helper.exe показывает одно и то же. А еще три дня назад подключались все модули.
Может надо как-то подключение к базе проверить?

Спустя 1 минута, 51 секунда (14.08.2010 - 18:35) HELLRIDER написал(а):
Выкладываю полностью исходный файл helper.exe
может кто-то найдет неладное:(

<?PHP 
/**
*
@version $Id: helper.php 14401 2010-01-26 14:10:00Z louis $
*
@package Joomla
*
@copyright Copyright © 2005 - 2010 Open Source Matters. All rights reserved.
*
@license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/


// no direct access
defined('_JEXEC') or die('Restricted access');

require_once (JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');

class modLatestNewsHelper
{
function getList(&$params)
{
global $mainframe;

$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$userId = (int) $user->get('id');

$count = (int) $params->get('count', 5);
$catid = trim( $params->get('catid') );
$secid = trim( $params->get('secid') );
$show_front = $params->get('show_front', 1);
$aid = $user->get('aid', 0);

$contentConfig = &JComponentHelper::getParams( 'com_content' );
$access = !$contentConfig->get('show_noauth');

$nullDate = $db->getNullDate();

$date =& JFactory::getDate();
$now = $date->toMySQL();

$where = 'a.state = 1'
. ' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'
. ' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'
;

// User Filter
switch ($params->get( 'user_id' ))
{
case 'by_me':
$where .= ' AND (created_by = ' . (int) $userId . ' OR modified_by = ' . (int) $userId . ')';
break;
case 'not_me':
$where .= ' AND (created_by <> ' . (int) $userId . ' AND modified_by <> ' . (int) $userId . ')';
break;
}

// Ordering
switch ($params->get( 'ordering' ))
{
case 'm_dsc':
$ordering = 'a.modified DESC, a.created DESC';
break;
case 'c_dsc':
default:
$ordering = 'a.created DESC';
break;
}

if ($catid)
{
$ids = explode( ',', $catid );
JArrayHelper::toInteger( $ids );
$catCondition = ' AND (cc.id=' . implode( ' OR cc.id=', $ids ) . ')';
}
if ($secid)
{
$ids = explode( ',', $secid );
JArrayHelper::toInteger( $ids );
$secCondition = ' AND (s.id=' . implode( ' OR s.id=', $ids ) . ')';
}

// Content Items only
$query = 'SELECT a.*, ' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
(
$show_front == '0' ? ' LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id' : '') .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE '. $where .' AND s.id > 0' .
(
$access ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
(
$catid ? $catCondition : '').
(
$secid ? $secCondition : '').
(
$show_front == '0' ? ' AND f.content_id IS NULL ' : '').
' AND s.published = 1' .
' AND cc.published = 1' .
' ORDER BY '. $ordering;
$db->setQuery($query, 0, $count);
$rows = $db->loadObjectList();

$i = 0;
$lists = array();
foreach ( $rows as $row )
{
if($row->access <= $aid)
{
$lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));
} else {
$lists[$i]->link = JRoute::_('index.php?option=com_user&view=login');
}
$lists[$i]->text = htmlspecialchars( $row->title );
$i++;
}

return $lists;
}
}


Спустя 4 минуты, 27 секунд (14.08.2010 - 18:39) Lenarfate написал(а):
что делает этот метод loadObjectList() ?

Спустя 18 минут, 26 секунд (14.08.2010 - 18:58) HELLRIDER написал(а):
По книге: используется для выборки массива объектов представляющих собой наследники stdClass с именами полей совпадающих с именами столбцов в таблице.

Как это перевождится на русский язык - без понятия:(

Спустя 13 минут, 5 секунд (14.08.2010 - 19:11) Lenarfate написал(а):
Цитата
Как это перевождится на русский язык - без понятия:(

зачем ты вообще лезишь в такие дебри, для начала основы изучи.

по делу:
видимо $rows пустой. не зря тебе сказали посмотреть, что в нем.

после этого
$rows = $db->loadObjectList();
пиши
print_r($rows);

и смотри, что в браузер выводится

Спустя 5 часов, 33 минуты, 38 секунд (15.08.2010 - 00:44) Guest написал(а):
Первое что бросается в глаза
$where = 'a.state = 1'
. ' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'
. ' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'
;
- точки в начале строки перенесите в конец предидущих строк.

Вообще, если хотите, чтоб вам помогли, сосредоточьте внимание на предидущих и последующих строках той в коей ошибка - 90

Спустя 9 часов, 5 минут, 43 секунды (15.08.2010 - 09:50) HELLRIDER написал(а):
Спасибо за советы.
Точки преместил, фразу дописал - результат тот же. Ошибка в строке 105...

Спустя 26 минут, 39 секунд (15.08.2010 - 10:17) linker написал(а):
...
$db->setQuery($query, 0, $count);
$rows = $db->loadObjectList();
if (!is_array($rows)) return array();
...

Спустя 1 час, 28 минут, 1 секунда (15.08.2010 - 11:45) HELLRIDER написал(а):
linker
так убирается предупреждение об ошибке ,но не показывается содержимое модуля

Спустя 1 час, 16 секунд (15.08.2010 - 12:45) HELLRIDER написал(а):
Решилось-таки мое горе:)
Проблема была в шаблоне. Видимо, когда менял css и html в его файлах - что-то лишнее убрал. Переустановил шаблон и все путем.
Всем спасибо. Без вас не стал бы шариться по кодам и не заметил бы лажу:)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.