Профили - превращаем содержание формы в текст!

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Редактируем профиль пользователя

#1 28 августа 2012 в 18:15
Берем любой сайт, например этот и видим, что там все в профиле сделано ссылками, как интересы. Помогите, пожалуйста, сделать все обычным текстом и если получится, то не выводить незаполненные строки.

Кто-то подскажет/поможет? :)
#2 28 августа 2012 в 19:36
отредактируйте в файле /components/users/includes/userforms.php как нужно, там не сложно разобраться…
а вообще там форм нет есть дивы и таблицы (для юзерформ)
#3 29 августа 2012 в 00:21
У меня проблема с "толкованием", как обычно, простите.
Мне нужно убрать ссылки — <a href="/users/hobby/

А в указанном файле я такого не нашел, к сожалению )) За наводку спасибо, сейчас заколупаю всю эту папку!
#4 29 августа 2012 в 01:11
вот кусок кода из приведенного файла в котором формируется ссылка и текст ссылки, а так же значение по-умолчанию:
  1.  
  2. $default = '<em>'.$_LANG['NOT_SET'].'</em>'; //по-умолчанию
  3. if(is_array($formsdata)){
  4. if (array_key_exists($field['id'], $formsdata)){
  5. if ($formsdata[$field['id']]){
  6. $default = $formsdata[$field['id']];
  7. $default = nl2br($default);
  8. //обращается к статическому методу в page.class.php там формируется ссылка
  9. $default = cmsPage::getMetaSearchLink('/users/hobby/', $default);
  10. }
  11. }
  12. }
  13.  
#5 29 августа 2012 в 14:02
• Mike •, очевидно что Вы в этом понимаете больше — подскажите, пожалуйста практическое решение и избавление от ссылок. Если нужно, то можно и не бесплатно!
#6 29 августа 2012 в 14:27
замените в этом файле целиком функцию
  1.  
  2. function usrForm($user_id, $form_id, $formsdata){
  3. .........
  4. ...... и до
  5. ...............
  6. return $html;
  7. }
  8.  
на этот код:
  1.  
  2. function usrForm($user_id, $form_id, $formsdata){
  3. global $_LANG;
  4. $inCore = cmsCore::getInstance();
  5. $inDB = cmsDatabase::getInstance();
  6. $html = '';
  7.  
  8. //GET FORM DATA
  9. $sql = "SELECT *
  10. FROM cms_forms
  11. WHERE id = $form_id";
  12. $result = $inDB->query($sql) ;
  13.  
  14. if (!$inDB->num_rows($result)) { return false; }
  15. else {
  16. $form = $inDB->fetch_assoc($result);
  17. //BUILD FORM
  18. $html .= '<div id="usr_prof_form">';
  19. //GET FIELDS DATA
  20. $sql = "SELECT * FROM cms_form_fields WHERE form_id = $form_id ORDER BY ordering ASC";
  21. $result = $inDB->query($sql) ;
  22. if ($inDB->num_rows($result)){
  23. //BUILD FORM FIELDS
  24. $html .= '<table cellpadding="0" cellspacing="0">';
  25. while($field = $inDB->fetch_assoc($result)){
  26. if(is_array($formsdata)){
  27. if (array_key_exists($field['id'], $formsdata)){
  28. if ($formsdata[$field['id']]){
  29. $html .= '<tr><td valign="top" id="title">';
  30. $html .= '<strong>'.$field['title'].'</strong>';
  31. $default = $formsdata[$field['id']];
  32. $default = nl2br($default);
  33. $html .= '<td valign="top" id="field">'.$default.'</td></tr>';
  34. }
  35. }
  36. }
  37. }
  38. $html .= '</table>';
  39. } else { $html .= '<p>'.$_LANG['IN_FORM'].' "'.$form['title'].'" '.$_LANG['NOT_FIELDS'].'.</p>'; }
  40.  
  41. $html .= '</div>';
  42. }
  43. return $html;
  44. }
  45.  
#7 8 сентября 2012 в 15:32
Огромное спасибо — все работает, как часы! Уже пошел трафик по профилям пользователей. пример
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.