Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑难] 用户栏目的项目直接显示在用户首页,怎么更改

[复制链接]
野姜花 发表于 2010-10-20 14:11:53 | 显示全部楼层 |阅读模式
本帖最后由 野姜花 于 2010-10-20 15:06 编辑

我在后台--用户栏目添加了2项自定义项分别为:field_1(专业)和field_2(简介),在前台显示是没问题了,但我想更改一下显示的效果。

1、目前的效果是在用户首页要点击» 查看全部个人资料才可以显示出field_1field_2

的内容,我想改成,一进首页就直接显示,另外,自定义用户栏目好像只支持文本型,只能输入连续的文字,一回车后面的内容就没了。
代码:<p class="info_more"><a href="javascript:;">&raquo; 查看全部个人资料</a></p>
点击上面的“查看全部个人资料”后显示如下图:我想要的效果是把如下的后3项自定义项直接在个人首页显示出来
2、在个人设置个人资料项里可以显示field_1field_2并且可以更改,但输入框只是一个小条,我想改成像发博文的那个窗口一样,需要改哪里呢。
帮我回复,不胜感激!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
kongkang 发表于 2010-10-20 14:23:07 | 显示全部楼层
1、请贴图:不知道你说的首页和点击查看个人资料是什么,我本机没有安装uchome,如果可以,贴图上来吧。
2、在模板,编辑个人信息页面,找loop循环的一个field字段,里面通用全部是input(也就是你说的小条),如果想要单独改变某一个,参考代码(伪代码):
  1. <!--{if $value['field_id'] == 1}--> //这行判断,主要是比对是否当前循环的field数是1或者2(根据你的要求修改数值)
  2. [这里参考发博文的编辑器代码,照猫画虎贴上来,注意变量替换掉。]
  3. <!--{else}-->
  4. [这里就是原先写小条的代码,保证默认不变]
  5. <!--{/if}-->
复制代码
回复

使用道具 举报

kongkang 发表于 2010-10-20 15:17:55 | 显示全部楼层
  1. <p class="info_more"><a href="javascript:;">&raquo; 查看全部个人资料</a></p>
复制代码
后面加上:
  1. <script>getindex('info');</script>
复制代码
试试
回复

使用道具 举报

 楼主| 野姜花 发表于 2010-10-20 15:23:58 | 显示全部楼层
回复 kongkang 的帖子

谢谢回复!
这个我刚刚加上了,没有效果
回复

使用道具 举报

 楼主| 野姜花 发表于 2010-10-20 15:29:00 | 显示全部楼层
非常感谢!更新了无数次缓存后,有效果了。不用点击自动显示了。谢谢
回复

使用道具 举报

 楼主| 野姜花 发表于 2010-10-21 10:42:53 | 显示全部楼层
本帖最后由 野姜花 于 2010-10-21 10:52 编辑

昨晚用KongKang给出的方法,研究了下第二项:在模板目录下,找到cp_profile.htm在里面搜索$value[formhtml],把这个改成下面的代码。
  1. <!--{if $value[fieldid] == 3}-->  //我的自定义栏目是fieldid_3,以下是博客发文章的文本框代码,变量改成了我的
  2. <textarea class="userData" name="field_3" id="uchome-ttHtmlEditor" style="height:100%;width:100%;display:none;border:0px">$space[field_3]</textarea>
  3. <iframe src="editor.php?charset=$_SC[charset]&allowhtml=$allowhtml" name="uchome-ifrHtmlEditor" id="uchome-ifrHtmlEditor" scrolling="no" border="0" frameborder="0" style="width:100%;border: 1px solid #C5C5C5;" height="400"></iframe>
  4. <!--{else}-->$value[formhtml]<!--{/if}--> //这里是原来的代码,就是fieldid是3的话就用上面的代码,否则还用原来的
复制代码
现在保存刷新的话,界面已经变成了想要的样子,编辑功能正常,但还无法保存。之后,我又加了如下代码
  1. <input type="button" id="blogbutton" name="blogbutton" value="提交发布" onclick="validate(this);" style="display: none;" />

  2. <input type="button" id="issuance" onclick="document.getElementById('blogbutton').click();" value="保存发布" class="submit" />
复制代码
引用了:
  1. <script language="javascript" src="image/editor/editor_function.js"></script>
复制代码
目前还没有测试保存成功,请KongKang指点。
回复

使用道具 举报

kongkang 发表于 2010-10-21 10:57:49 | 显示全部楼层
保存前貌似要使用一个"edit"相关的函数,让编辑器的东西转到textarea里面。

我现在挺忙的,暂时不细说了,你研究一下,呵呵。

另外,我之前有过一个帖子是说编辑器的,你搜一下吧。
回复

使用道具 举报

 楼主| 野姜花 发表于 2010-10-22 10:25:34 | 显示全部楼层
整体代码是这样,没有调试成功。这句不会改x.get('cp.php?ac=profile&op=field_3&code=' + code, function(s){
,这个肯定不对,但不知道改成什么,不知道还有没有其他错误。
  1. <script language="javascript" src="image/editor/editor_function.js"></script>
  2. <script type="text/javascript">
  3. function validate(obj) {
  4. var field_3 = $('field_3');
  5. if (field_3) {
  6. var slen = strlen(field_3.value);
  7. if (slen < 1 || slen > 1000) {
  8. alert("内容长度(1~1000字符)不符合要求");
  9. field_3.focus();
  10. return false;
  11. }
  12. }

  13. if($('seccode')) {
  14. var code = $('seccode').value;
  15. var x = new Ajax();
  16. x.get('cp.php?ac=profile&op=message1&code=' + code, function(s){
  17. s = trim(s);
  18. if(s != 'succeed') {
  19. alert(s);
  20. $('seccode').focus();
  21. return false;
  22. } else {
  23. uploadEdit(obj);
  24. return true;
  25. }
  26. });
  27. } else {
  28. uploadEdit(obj);
  29. return true;
  30. }
  31. }
  32. </script>

  33. <!--{if $value[fieldid] == 3}-->
  34. <textarea class="userData" name="field_3" id="uchome-ttHtmlEditor" style="height:100%;width:100%;display:none;border:0px">$space[field_3]</textarea>
  35. <iframe src="editor.php?charset=$_SC[charset]&allowhtml=$allowhtml" name="uchome-ifrHtmlEditor" id="uchome-ifrHtmlEditor" scrolling="no" border="0" frameborder="0" style="width:100%;border: 1px solid #C5C5C5;" height="400"></iframe>
  36. <!--{else}-->$value[formhtml]<!--{/if}-->


  37. <input type="button" id="blogbutton" name="blogbutton" value="提交发布" onclick="validate(this);" style="display: none;" />
  38. <input type="button" id="issuance" onclick="document.getElementById('blogbutton').click();" value="保存发布" class="submit" />




  39. //以下为editor_function.js的内容
  40. function uploadEdit(obj) {
  41. mainForm = obj.form;
  42. forms = $('attachbody').getElementsByTagName("FORM");
  43. albumid = $('uploadalbum').value;
  44. edit_save();
  45. upload();
  46. }

  47. //提交保存
  48. function edit_save() {
  49. var p = window.frames['uchome-ifrHtmlEditor'];
  50. var obj = p.window.frames['HtmlEditor'];
  51. var status = p.document.getElementById('uchome-editstatus').value;
  52. if(status == 'code') {
  53. $('uchome-ttHtmlEditor').value = p.document.getElementById('sourceEditor').value;
  54. } else if(status == 'text') {
  55. if(is_ie) {
  56. obj.document.body.innerText = p.document.getElementById('dvtext').value;
  57. $('uchome-ttHtmlEditor').value = obj.document.body.innerHTML;
  58. } else {
  59. obj.document.body.textContent = p.document.getElementById('dvtext').value;
  60. var sOutText = obj.document.body.innerHTML;
  61. $('uchome-ttHtmlEditor').value = sOutText.replace(/\r\n|\n/g,"<br>");
  62. }
  63. } else {
  64. $('uchome-ttHtmlEditor').value = obj.document.body.innerHTML;
  65. }
  66. backupContent($('uchome-ttHtmlEditor').value);
  67. }
  68. //以上为editor_function.js的内容
复制代码
回复

使用道具 举报

wellshi 发表于 2010-10-22 16:16:25 | 显示全部楼层
进来学习下
回复

使用道具 举报

23yuan 发表于 2010-10-23 03:09:16 | 显示全部楼层
已经做好了  地址 www.23yuan.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 08:08 , Processed in 0.038630 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表