Хак. Поднятие анкеты в поиске за рейтинг. версия 1.9 2часть

+20
1.24K
вторая часть… Первая часть

8. открываем components/users/router.php
добовляем
  1. /////////////////////////////////////////////////////////////
  2.  
  3. $routes[] = array(
  4. '_uri' => '/^users\/man.html$/i',
  5. 'orderby' => 'man',
  6. 'orderto' => 'desc'
  7. );
  8.  
  9. $routes[] = array(
  10. '_uri' => '/^users\/man([0-9]+).html$/i',
  11. 1 => 'page',
  12. 'orderby' => 'man',
  13. 'orderto' => 'desc'
  14. );
  15.  
  16. $routes[] = array(
  17. '_uri' => '/^users\/woman.html$/i',
  18. 'orderby' => 'woman',
  19. 'orderto' => 'desc'
  20. );
  21.  
  22. $routes[] = array(
  23. '_uri' => '/^users\/woman([0-9]+).html$/i',
  24. 1 => 'page',
  25. 'orderby' => 'woman',
  26. 'orderto' => 'desc'
  27. );
  28. ////////////////////////////////////////////////////
Дописываем в css-файл активного шаблона стили
  1. div.users_list_buttons .selected_genderm{ font-weight: bold; background:url(/components/users/images/button_selected_pos.jpg) no-repeat; }
  2. div.users_list_buttons .selected_genderm a{ color: #FFF; }
  3. div.users_list_buttons .selected_genderf{ font-weight: bold; background:url(/components/users/images/button_selected_pos.jpg) no-repeat; }
  4. div.users_list_buttons .selected_genderf a{ color: #FFF; }
  5. #usr_anketa{
  6. float:left;
  7. margin-left:270px;
  8. margin-top:12px;
  9. color:#7192A6;
  10. font-size:14px;
  11. width:450px;
  12. }
  13. .usr_anketaup{
  14. float:right;
  15. }
  16. .usr_anketaup a {
  17. color: #00FF00;
  18. }
  19. div .anketa_up a
  20. {
  21. color:#00FF00;
  22. }
  23.  
9.открываем \templates\ваш шаблон\components\com_users_profile.tpl
Вверху дописываем: {add_js file="components/users/js/positionup.js"}
В ТОМ МЕСТЕ, ГДЕ ХОДИМ УВИДЕТЬ позицию юзера: вставляем
  1. {if $usr.position > 0}
  2. <div id="usr_anketa">
  3. {if $myprofile} Ваша анкета {else} Анкета пользователя {/if}
  4. занимает <font color="#00FF00">{$usr.position}</font> место!
  5.  
  6. <div class="usr_anketaup">
  7. {if $usr.position > 1}
  8. <a href="javascript: positionUp({$usr.id})">
  9. {if $myprofile}
  10. Поднять мою анкету!
  11. {elseif ($usr.gender)}Поднять анкету!
  12. {/if}
  13. </a>
  14. {/if}
  15. </div>
  16. </div>
  17. {/if}
  18.  
10. открываем \templates\ваш шаблон\components\com_users_view.tpl
в самом верху дописываем
{add_js file="components/users/js/positionup.js"}
СПИСОК ПОЛЬЗОВАТЕЛЕЙ добавляем вкладки м и ж
Внутри <div class="users_list_buttons">
добавляем
  1. <div class="button {if $link.selected=='man'}selected{/if}"><a rel=”nofollow” href="{$link.man}">Парни</a></div>
  2. <div class="button {if $link.selected=='woman'}selected{/if}"><a rel=”nofollow” href="{$link.woman}">Девушки</a></div>
В ТОМ МЕСТЕ, ГДЕ ХОТИМ УВИДЕТЬ ссылку на ПОДНЯТЬ АНКЕТУ:
вставляем
  1. { if $link.selected == 'man' || $link.selected=='woman'|| $link.selected=='latest'|| $link.selected=='online'}
  2. {* дописано для анкет *}
  3. {if ($usr.num != 1 && $user_id >0)}
  4. <div class="anketa_up"><a style="color:green" href="javascript: positionUp({$usr.id})">
  5. {if $user_id == $usr.id}поднять мою анкету</a>
  6. {else}
  7. поднять анкету
  8. {/if}
  9. </a></div>
  10. {/if}
  11. {* дописано для анкет(конец) *}
  12. {/if}
настройка колличества снятие рейтинга в файлах (по умолчанию стоит -2 рейтинга)
components/users/ajax/positionup.php
строчки
//проверяем достаточно ли рейтига
if ($result['rating'] >= 2)

и
SET rating = rating — 2
и файл components/users/js/positionup.js
PS. Тестил на локалке… у меня всё работает… желаю и вам )))
кому помог принемаю блогадарности на
Z205596765246
R229037465412
Коплю на Биллинг пользователей
+3
Максим Шорин Максим Шорин 9 лет назад #
Помню давным давно мечтал о этом хаке =))) Спасибо за ностальгию =)))
0
My-InstantCMS.Ru My-InstantCMS.Ru 9 лет назад #
Всё работает, анкета поднимается на вкладках "Парни" и "Девушки" но было бы лучше если и в "Новые" поднялась, так как при нажатии "Люди" в меню, по умолчанию откроется вкладка "Новые" если можно реализовать, пишите инструкцию пожалуйста
+1
WALTERZ WALTERZ 9 лет назад #
Если сортировка по дате регистрации не нужна, то сделать так:
В фронтенде
Заменяем:
Код PHP:
  1. if($orderby == 'regdate') { $orderby = 'regdate'; $link['selected'] = 'latest'; }
на:
Код PHP:
  1. if($orderby == 'position') { $orderby = 'position'; $link['selected'] = 'latest'; }
В роутере
заменяем (в 2ух местах):
Код PHP:
  1. 'orderby' => 'regdate',
на:
Код PHP:
  1. 'orderby' => 'position',
Чтобы сортировка пользователей была по позициям в поиске (users/search.html), нужно в фронтенде нужно:
Под if ($do=='search'){
Есть запрос:
Код PHP:
  1. $querysql = "SELECT
  2. u.id as id,
  3. u.login,
  4. u.nickname,
  5. u.logdate as flogdate,
  6. u.is_deleted as is_deleted,
  7. u.birthdate, u.rating,
  8. u.status as microstatus,
  9. p.city, p.karma as karma, p.imageurl,
  10. p.gender as gender
  11. FROM cms_users u
  12. INNER JOIN cms_user_profiles p ON p.user_id = u.id
  13. WHERE u.is_deleted = 0 AND u.is_locked = 0 $s
  14. ORDER BY city DESC";
Заменить его на этот:
Код PHP:
  1. $querysql = "SELECT
  2. u.id as id,
  3. u.login,
  4. u.nickname,
  5. u.logdate as flogdate,
  6. u.is_deleted as is_deleted,
  7. u.birthdate, u.rating,
  8. u.status as microstatus,
  9. p.city, p.position, p.karma as karma, p.imageurl,
  10. p.gender as gender
  11. FROM cms_users u
  12. INNER JOIN cms_user_profiles p ON p.user_id = u.id
  13. WHERE u.is_deleted = 0 AND u.is_locked = 0 $s
  14. ORDER BY position DESC";
И прочитайте пожалуйста небольшое разъяснение запросов...а то старался подробно описать, всё равно в личку пишут "Я не понял, скажите как сделать".
http://instantcms.ru/blogs/videokontent-dlja-vashego-saita/hak-podnjatie-ankety-v-poiske-za-reiting-versija-1-9.html#comment_38928
0
nikolas nikolas 9 лет назад #
тут блоге при вставке кода php идёт обрезания длинных строк и не которым не понятно как править..
полное подробное описание хака можно скачать по этой сылке http://instantcms.ru/users/files/download2356.html

Еще от автора

сообщения на Ajax 1.9
сообщения пользователя на Ajax 1.9ДЕМО минимум запросов
Хак. Поднятие анкеты в поиске за рейтинг. версия 1.9
Хак. Поднятие анкеты в поиске за рейтинг. версия 1.9 Если у вас дефолтный шаблон то скачиваем с заменой эти файлы http://instantcms.
Смена фона пользователем
Решил приукрасить сайт для пользователей. Нужно было что бы сайт менял фон.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.