Добрый вечер. Проблема в следующем: На joomlaforum.ru один товарищ немного модернизировал существующий плагин голосования и рейтинга ExtraVote, добавив туда высчитывание и отображение суммарного рейтинга голосования, а также убрав возможность нажимать на звездочку в полоске итогов. Вот ссылка на тему: http://joomlaforum.ru/index.php?topic=54607.0 . В общем получилось очень даже неплохо, и плагин стал немного пофункциональнее и попрактичнее в использовании. Поэтому собственно я и решил его установить. После установки мне понадобилось сделать так, чтобы статьи в "блоге категории" сортировались в порядке рейтинга, расчитываемого вышеуказанным плагином. На этом форуме, я нашел тему, в которой было подробно описано решение данной проблемы. Вот ссылка: http://joomla-support.ru/thread/16347/ . Но после того, как я выполнил все предложенное в теме, выяснилось, что модернизированный плагин ExtraVote, в отличие от обыкновенного, все равно не сортирует материалы по рейтингу. Как мне кажется, это происходит из-за того, что скрипт плагина был немного переписан, и теперь он слегка подругому работает с MySQL, всвязи с чем сортировка не получается. Пробовал установить старый плагин - сортирует прекрасно. Но мне требуется в использовнии именно обновленный Extravote. Я не очень хорошо разбираюсь в PHP, поэтому прошу помощи. Думаю тема будет интересна ни мне одному. Заранее благодарен. P.S. Плагин во вложении.
Вам нужно только изменить имя таблицы в запросе Код (PHP): $query = 'SELECT cc.title AS category, xx.rating_sum, a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,' . ' a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.attribs, a.hits, a.images, a.urls, a.ordering, a.metakey, a.metadesc, a.access,' . ' 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,'. ' CHAR_LENGTH( a.`fulltext` ) AS readmore, u.name AS author, u.usertype, g.name AS groups, u.email as author_email'.$voting['select'] . ' FROM #__content AS a' . ' LEFT JOIN jos_content_rating AS xx ON a.id = xx.content_id' . ' LEFT JOIN #__categories AS cc ON a.catid = cc.id' . ' LEFT JOIN #__users AS u ON u.id = a.created_by' . ' LEFT JOIN #__groups AS g ON a.access = g.id'. $voting['join']. $where. $orderby; с Код (PHP): ' LEFT JOIN jos_content_rating AS xx ON a.id = xx.content_id' . на Код (PHP): ' LEFT JOIN jos_content_extravote AS xx ON a.id = xx.content_id' . данное решение не учитывает extra_id, т.е. если Вы в одной статье установите более одного голосования - {extravote 1} и {extravote 2}, то на выдаче получите ровно столько дубликатов, сколько голосований вы установили )
omfgpanda, спасибо за решение, я все заменил, и действительно материалы начинают размножаться. В том то и дело, что у меня более двух-трех extra_id в каждом материале. Можно их как-нибудь учесть, чтобы не выдавало дубликаты материалов?
deniro21 ниже вложение прото перезалей с заменой у тебя появится сортировка по голосам p.s. зы благодарности omfgpanda-е , его инициатива
Я перезалил с заменой, но сортировки не появилось. Надеюсь я все правильно сделал: я вынул из архива папку com_content и положил ее вместо уже существующей, с заменой. В итоге сортировать не начало, и на каждой странице блога категорий пишет сверху: * JHTMLContent:repare not found in file. * JHTMLContent:repare not found in file. И размножает теперь не по количеству extra_id в материале, а тупо два раза идет список материалов друг за другом, т.е. на одной странице Сначала идет заголовок, далее материалы 1,2,3,4,, а ниже опять идет заголовок и снова материалы 1,2,3,4 Вот скрин сделал: http://pic.ipicture.ru/uploads/091126/pmPq7iqf8S.jpg Также я обнаружил, что в запросе к базе стоит имя jos_content_rating, т.е. вся строка: LEFT JOIN jos_content_rating AS xx ON a.id = xx.content_id' , хотя omfgpanda выше писал о том, что его нужно заменить на jos_content_extravote . Я попробовал заменить, но результат все равно один и тот же: не сортирует и выдает ошибки "JHTMLContent:repare not found in file." vectorserver22, спасибо конечно, но насколько я понимаю ты выложил копию своей папки com_content? Если да, то скорее всего твой плагин работает по этому решению http://joomla-support.ru/showthread.php?t=16347&highlight=ExtraVote А у меня extravote немного другой. В общем незнаю что делать....
Не знаю какой версии плугин ипользую но помощь omfgpandы мне помоголо паку залией в ...components\com_content...
Ничего не помогает. Я уже голову сломал. Вроде бы задача не сложная, но решение я так и не могу найти. И бесплатно никто помогать не собирается на этом форуме. Тема еще актуальна. Я очень надеюсь, что найдутся люди способные на бескорыстную помощь, т.к. возможно я и не разбираюсь в кодах и прочем, но могу предположить, что задача явно не на столько сложна,чтобы стоить несколько тысяч рублей, как мне тут озвучали. Пару-тройку сотен смогу закинуть без проблем, только помогите.
Всем привет! Тоже заморочился с этим плагином. Так как я не програмист, то не могу понять где ошибка. Рейтинг добавил в каждую статью вида {extravote 1} {extravote 2} {extravote 3} {mainvote} С отображением на главной странице этих статей все нормально, только нет сортировки по рейтингу. тут где-то прочитал, что данное решение только для блога категории. Создал этот самый блог категории и прилинковал туда эти статьи. В результате вылетает ошибка: Warning: Invalid argument supplied for foreach() in Zhome\localhost\www\hostrank\components\com_cont ent\models\category.php on line 337 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in Zhome\localhost\www\hostrank\libraries\joomla\da tabase\database\mysql.php on line 344 Помогите разобраться. Кстати, присоединяюсь к дениро. За рабочий плагин тоже накину еще 2-3 сотни.
Ладно! Если тут есть у кого желание и возможности сделать extravote рабочим и сортирующим статьи по суммарному рейтингу {mainvote}, то пишите свою цену и сроки либо сюда, либо rusanovs at gmail dot com. Договоримся.
а всех устраивает защита от повторного голосования? никто не пытался переделать чтоб по нику пользователя была защита а не по последнему Ip ?
Голосование по IP самое то! И гости могут голосовать, и накликать труднее. А если у мужа и жены разные мнения на один и тот же вопрос, то пусть пишут комментарии или пользуют прокси. И вообще мужик главней!. Хотя сама возможность выбора этого ограничения по IP или нику была бы не лишней.