Модификация модуля

 
Посетитель
small user social cms
Сообщений: 21
Прифет всем! Не получилось модифицировать модуль прошу Вашей помощи и подсказки. В общем нужно было подстроить под себя модуль последние зареганные пользователи.

В этом модуле выводятся аватарки пользователя (она кликабельна) и ник пользователя тож кликабельный.

за первое отвечает:
Код PHP:
  1. <a href="{profile_url login=$usr.login}" class="new_user_link" title="{$usr.nickname}">{$usr.avatar}</a>
за второе:
Код PHP:
  1. <div class="mod_new_user_link"><a href="{profile_url login=$usr.login}">{$usr.nickname}</a></div>

требуется сделать ещё два слоя с возрастом пользователя и с его городом желательно Страна потом город

имеем конструкции:
Код PHP:
  1. {$usr.birthdate}
Код PHP:
  1. {$usr.city}
Код PHP:
  1. {$usr.conrty}

Первый в слое позволяет выводить дату рождения, но мне дата рождения не нужна, поэтому я переделал как это было сказано в одном хаке под возраст в профиле пользователя ( к стати в профиле работает замечательно)

Код PHP:
  1. <div class="value">{$usr.age}</div>
но если эту строчку вставить модуль последние регистрации то не работает. Идём дальше...

для города делаем дополнительный слой в диве
Код PHP:
  1.  
  2. <div class="value">{$usr.city}</div>
но опять не отображается ничего, про страну пока не знаю как сделать. Помогите пожалуйста, может чтобы он начал там работать, что-то прописать дополнительно (в пхп не очень силён)
Кто к нам... с чем... тот от того... и того!
Модератор
small user social cms
МедальМедаль за отзывчивостьКубок зрительских симпатий
Сообщений: 435
modules\mod_lastreg\module.php

тебе нужно доработать запрос, чтоб он дополнительно и город city тянул:

Код PHP:
  1. $sql = "SELECT u.*, p.imageurl, p.city
  2. FROM cms_users u
  3. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  4. WHERE u.is_deleted = 0 AND u.is_locked=0
  5. ORDER BY u.regdate DESC
  6. LIMIT ".$cfg['newscount']."
  7. ";
теперь эта конструкция по идее должна сработать
Код PHP:
  1. <div class="value">{$usr.city}</div>
ДАЛЬШЕ....

Код PHP:
  1. <div class="value">{$usr.age}</div>
кроме того что ты пропишешь $usr.age в шаблоне - нужно опеределить этот элемент в файле
modules\mod_lastreg\module.php

я переделал как это было сказано в одном хаке под возраст в профиле пользователя ( к стати в профиле работает замечательно)
ну так разберись лучше в этом хаке.там наверное еще кроме шаблона components\users\frontend.php редактировался???

Ну а про страну {$usr.conrty} это уж как нибудь сам... где такое поле в базе есть? в стандартной сборке вроде нет. если добавлял свои - то опять же, пляши от modules\mod_lastreg\module.php и правь запрос.
Посетитель
small user social cms
Сообщений: 21
там наверное еще кроме шаблона components\users\frontend.php редактировался???

он там редактировался

сначала вставлялся код корректно пересчитывающий лет, год, года

Код PHP:
  1. function AgeToStr($Age)
  2. {if(($Age>=5) && ($Age<=14)) $str = "лет"; else { $num = $Age - (floor($Age/10)*10); if($num == 1) { $str = "год"; } elseif($num == 0) { $str = "лет"; } elseif(($num>=2) && ($num<=4)) { $str = "года"; } elseif(($num>=5) && ($num<=9)) { $str = "лет"; } } return $Age . " " . $str ; }
  3.  

а потом сам запрос

Код PHP:
  1. $sql = "SELECT birthdate,(YEAR(CURRENT_DATE)-YEAR(birthdate))-(RIGHT(CURRENT_DATE,5)<RIGHT(birthdate,5))AS age FROM cms_users WHERE id=$id";
  2. $result = $inDB->query($sql);
  3. $r = mysql_fetch_array($result) ;
  4. $usr['age']=AgeToStr($r[age]) ;

после чего в \templates\_default_\components\com_users_profile.tpl

вставлялся
Код PHP:
  1. <div class="value">{$usr.age}</div>

кстати спасибо огромное. Город после того как я добавил p.city стал отображаться. Вот если б ещё и возраст, был бы просто счастлив!
Кто к нам... с чем... тот от того... и того!
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.