короче во всех компонентах. Только например под статьёй или фоткой, где должны быть комментарии отображается их количество, например "Комментарии (23)"
По адресу мой_сайт/comments комментарии отображаются нормально от всех компонентов, а в самих компонентах
не отображаются. Последний раз я видел отображение комментариев в компонентах дня два назад. Ничего не трогал в настройках с этого времени, а это случилось само по себе.
Настройки компонента "Комментарии пользователей" пробовал менял по всякому на всякий случай в разных вариантах, но не помогло. Комментарии не видны для всех групп пользователей, а также и администратору.
Версия 1.9 после обновления с 1.8. Шаблон дефолтный. Ничего подобного никогда ещё не было.
Если не совсем понятно объяснил подробности, то можно посмотреть это на сайте gubkin31.ru
Даже не знаю, что и делать, что это может быть?
посмотрел с разных браузеров, но пока всё по прежнему, комментарии не отображаются.
Если кто хочет можете добавить комментарии без регистрации, посмотрите результат, (сайт gubkin31.ru) хотя я уже написал выше что получается.
попробуйте включить на время отладку и показ всех ошибок в index.php сейчас просто оболочка грузиться родительский шаблон от комментов а самих комментов нет…
гости через капчу, добавляю комментарий от администратора, всё равно его нет.
В админке: "Включить режим отладки:" поставил "ДА" и появилось вот это везде, даже где нет комментариев:включить на время отладку и показ всех ошибок в index.php
DATABASE ERROR: SELECT c.*, IFNULL(v.total_rating, 0) as votes, IFNULL(u.nickname, 0) as nickname, IFNULL(u.login, 0) as login, IFNULL(u.is_deleted, 0) as is_deleted, IFNULL(p.imageurl, 0) as imageurl, (NOW() < DATE_ADD(c.pubdate, INTERVAL 30 MINUTE)) as is_editable FROM cms_comments c WHERE c.target='photo' AND c.target_id=26 AND c.published=1 ORDER BY c.pubdate ASC The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay
Заходил по FTP смотрел папки, файлы, число последнего обращение (исправления), это мои мелкие исправления аж три недели назад когда всё отлично работало, т.е. чужого присутствия в папках на хостинге на глаз не заметно.
В данном случае проблема в том, что начал превышаться лимит
SQL_MAX_JOIN_SIZE. Попросите разработчика, чтобы он в скриптах перед
проблемным запросом прописал запрос:
SET SQL_BIG_SELECTS=1;
это решит проблему.
Подскажите пожалуйста знающие люди, где прописать SET SQL_BIG_SELECTS=1; в каком файле и на какой строчке?
$sql = "SELECT c.*,
$sql = "SELECT SQL_BIG_SELECTS=1 c.*,
$sql = "SELECT SET SQL_BIG_SELECTS=1 c.*,
$sql = "SELECT c.*,
/* ==================================================================================================== */ /* ==================================================================================================== */ public function getComments($target, $target_id, $cfg){ if (!$cfg['edit_minutes']) { $cfg['edit_minutes'] = 0; } $sql = "SELECT $sql = "SELECT SET SQL_BIG_SELECTS=1 c.*, c.*, IFNULL(v.total_rating, 0) as votes, IFNULL(u.nickname, 0) as nickname, IFNULL(u.login, 0) as login, IFNULL(u.is_deleted, 0) as is_deleted, IFNULL(p.imageurl, 0) as imageurl, (NOW() < DATE_ADD(c.pubdate, INTERVAL {$cfg['edit_minutes']} MINUTE)) as is_editable FROM cms_comments c WHERE c.target='$target' AND c.target_id=$target_id AND c.published=1 ORDER BY c.pubdate ASC"; $result = $this->inDB->query($sql); if (!$this->inDB->num_rows($result)) { return false; } while($comment = $this->inDB->fetch_assoc($result)){ $comment['fpubdate'] = cmsCore::dateFormat($comment['pubdate'], true, true); $comments[] = $comment; } $comments = cmsCore::callEvent('GET_COMMENTS', $comments); return $comments; } public function getComment($id, $cfg) {
(Первый вариант неправильный, прошу прошения перепутал с SQL_BIG_RESULT который можно применять внутри SELECT)
$sql = "SET SQL_BIG_SELECTS=1"; $sql = "SELECT c.*, IFNULL(v.total_rating, 0) as votes, IFNULL(u.nickname, 0) as nickname, IFNULL(u.login, 0) as login, IFNULL(u.is_deleted, 0) as is_deleted, IFNULL(p.imageurl, 0) as imageurl, (NOW() < DATE_ADD(c.pubdate, INTERVAL {$cfg['edit_minutes']} MINUTE)) as is_editable FROM cms_comments c LEFT JOIN cms_ratings_total v ON v.item_id = c.id AND v.target = 'comment' LEFT JOIN cms_users u ON u.id = c.user_id LEFT JOIN cms_user_profiles p ON p.user_id = u.id WHERE c.target='$target' AND c.target_id=$target_id AND c.published=1 ORDER BY c.pubdate ASC";
после строки
$this->query("SET NAMES cp1251");
$this->query("SET NAMES cp1251"); $this->query("SET SQL_BIG_SELECTS=1");
в файл /core/classes/db.class.php (строка ~32)
после строки
$this->query("SET NAMES cp1251");
добавьте чтобы получилось так:
$this->query("SET NAMES cp1251");
$this->query("SET SQL_BIG_SELECTS=1");
Только в этом варианте заработало, УРААА!!!
Комментарии появились все и везде.
Спасибо!!!