Cортировка статей с помошью плагина extravote.

Тема в разделе "Программирование", создана пользователем deniro21, 24.11.2009.

  1. deniro21
    Offline

    deniro21 Пользователь

    Регистрация:
    23.11.2009
    Сообщения:
    107
    Симпатии:
    3
    Пол:
    Мужской
    Добрый вечер. Проблема в следующем: На joomlaforum.ru один товарищ немного модернизировал существующий плагин голосования и рейтинга ExtraVote, добавив туда высчитывание и отображение суммарного рейтинга голосования, а также убрав возможность нажимать на звездочку в полоске итогов. Вот ссылка на тему: http://joomlaforum.ru/index.php?topic=54607.0 . В общем получилось очень даже неплохо, и плагин стал немного пофункциональнее и попрактичнее в использовании. Поэтому собственно я и решил его установить. После установки мне понадобилось сделать так, чтобы статьи в "блоге категории" сортировались в порядке рейтинга, расчитываемого вышеуказанным плагином. На этом форуме, я нашел тему, в которой было подробно описано решение данной проблемы. Вот ссылка: http://joomla-support.ru/thread/16347/ . Но после того, как я выполнил все предложенное в теме, выяснилось, что модернизированный плагин ExtraVote, в отличие от обыкновенного, все равно не сортирует материалы по рейтингу. Как мне кажется, это происходит из-за того, что скрипт плагина был немного переписан, и теперь он слегка подругому работает с MySQL, всвязи с чем сортировка не получается. Пробовал установить старый плагин - сортирует прекрасно. Но мне требуется в использовнии именно обновленный Extravote. Я не очень хорошо разбираюсь в PHP, поэтому прошу помощи. Думаю тема будет интересна ни мне одному. Заранее благодарен.:)

    P.S. Плагин во вложении.
     

    Вложения:

    Последнее редактирование модератором: 31.03.2014
  2.  
  3. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Вам нужно только изменить имя таблицы в запросе
    Код (PHP):
    1. $query = 'SELECT cc.title AS category, xx.rating_sum, a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext,
    2. a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,' .
    3. ' a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.attribs, a.hits,
    4. a.images, a.urls, a.ordering, a.metakey, a.metadesc, a.access,' .
    5. ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
    6. ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug,'.
    7. ' CHAR_LENGTH( a.`fulltext` ) AS readmore, u.name AS author, u.usertype, g.name AS groups,
    8. u.email as author_email'.$voting['select'] .
    9. ' FROM #__content AS a' .
    10. ' LEFT JOIN jos_content_rating AS xx ON a.id = xx.content_id' .
    11. ' LEFT JOIN #__categories AS cc ON a.catid = cc.id' .
    12. ' LEFT JOIN #__users AS u ON u.id = a.created_by' .
    13. ' LEFT JOIN #__groups AS g ON a.access = g.id'.
    14. $voting['join'].
    15. $where.
    16. $orderby;

    с
    Код (PHP):
    1. ' LEFT JOIN jos_content_rating AS xx ON a.id = xx.content_id' .

    на
    Код (PHP):
    1. ' LEFT JOIN jos_content_extravote AS xx ON a.id = xx.content_id' .


    данное решение не учитывает extra_id, т.е. если Вы в одной статье установите более одного голосования - {extravote 1} и {extravote 2}, то на выдаче получите ровно столько дубликатов, сколько голосований вы установили )
     
  4. deniro21
    Offline

    deniro21 Пользователь

    Регистрация:
    23.11.2009
    Сообщения:
    107
    Симпатии:
    3
    Пол:
    Мужской
    omfgpanda, спасибо за решение, я все заменил, и действительно материалы начинают размножаться. В том то и дело, что у меня более двух-трех extra_id в каждом материале. Можно их как-нибудь учесть, чтобы не выдавало дубликаты материалов?
     
  5. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    deniro21 ниже вложение прото перезалей с заменой у тебя появится сортировка по голосам
    p.s. зы благодарности omfgpanda-е , его инициатива ;)
     

    Вложения:

  6. deniro21
    Offline

    deniro21 Пользователь

    Регистрация:
    23.11.2009
    Сообщения:
    107
    Симпатии:
    3
    Пол:
    Мужской
    Я перезалил с заменой, но сортировки не появилось. Надеюсь я все правильно сделал: я вынул из архива папку com_content и положил ее вместо уже существующей, с заменой. В итоге сортировать не начало, и на каждой странице блога категорий пишет сверху:
    * JHTMLContent::prepare not found in file.
    * JHTMLContent::prepare 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::prepare not found in file."
    vectorserver22, спасибо конечно, но насколько я понимаю ты выложил копию своей папки com_content? Если да, то скорее всего твой плагин работает по этому решению http://joomla-support.ru/showthread.php?t=16347&highlight=ExtraVote А у меня extravote немного другой. В общем незнаю что делать....
     
  7. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    не суетитесь.... если бы это было платное решение - было бы уже готово... а так уж извините )
     
  8. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Не знаю какой версии плугин ипользую но помощь omfgpandы мне помоголо
    паку залией в ...components\com_content...
     

    Вложения:

  9. deniro21
    Offline

    deniro21 Пользователь

    Регистрация:
    23.11.2009
    Сообщения:
    107
    Симпатии:
    3
    Пол:
    Мужской
    Ничего не помогает. Я уже голову сломал. Вроде бы задача не сложная, но решение я так и не могу найти. И бесплатно никто помогать не собирается на этом форуме. Тема еще актуальна. Я очень надеюсь, что найдутся люди способные на бескорыстную помощь, т.к. возможно я и не разбираюсь в кодах и прочем, но могу предположить, что задача явно не на столько сложна,чтобы стоить несколько тысяч рублей, как мне тут озвучали. Пару-тройку сотен смогу закинуть без проблем, только помогите.
     
  10. Offline

    Saint_Glory Недавно здесь

    Регистрация:
    16.01.2010
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Всем привет! Тоже заморочился с этим плагином. Так как я не програмист, то не могу понять где ошибка. Рейтинг добавил в каждую статью вида
    {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 сотни.
     
    Последнее редактирование: 17.01.2010
  11. Offline

    Saint_Glory Недавно здесь

    Регистрация:
    16.01.2010
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Ладно! Если тут есть у кого желание и возможности сделать extravote рабочим и сортирующим статьи по суммарному рейтингу {mainvote}, то пишите свою цену и сроки либо сюда, либо rusanovs at gmail dot com. Договоримся.
     
  12. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    готов помочь ;) стучите в асю.
     
  13. Offline

    Saint_Glory Недавно здесь

    Регистрация:
    16.01.2010
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Сделка состоялась. omfgpanda большое спасибо! Все заработало. Сортирует как нужно.
     
  14. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    :sunbath:
     
  15. Offline

    Da_Vinchi Недавно здесь

    Регистрация:
    20.01.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    а всех устраивает защита от повторного голосования? никто не пытался переделать чтоб по нику пользователя была защита а не по последнему Ip ?
     
  16. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Da_Vinchi, не пробовали
     
  17. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Da_Vinchi, а если голосует гость ? тогда что делать ?
     
  18. Offline

    Saint_Glory Недавно здесь

    Регистрация:
    16.01.2010
    Сообщения:
    5
    Симпатии:
    0
    Пол:
    Мужской
    Голосование по IP самое то! И гости могут голосовать, и накликать труднее. А если у мужа и жены разные мнения на один и тот же вопрос, то пусть пишут комментарии или пользуют прокси. И вообще мужик главней!. Хотя сама возможность выбора этого ограничения по IP или нику была бы не лишней.
     

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

Загрузка...