从对joomla的一无所知,到对可以开发使用,期间得到同事许多帮助,不短的两个月,开发中也遇到很多的问题,最终在他人帮助下都解决了。今天我把这些问题分享出来,以及解决办法,希望其他使用的朋友遇到这些问题,可以自行解决。本文仍然基于joomla1.525版本,涉及的问题不是只有joomla本身,有一些是属于HTML、CSS、Flash、服务器知识,所以不限于只谈这个cms本身,是一些综合问题!

    1 . flash不显示问题,这个的原因是在头部添加了导向网站目录的base标签,就是在head部分添加了<base href="#" />,这样出现flash不显示问题。解决办法是在flash的标记里面添加base="."属性,就是这种

<object>
<embedheight="302"width="601"base="."wmode="transparent"src="/main.swf"type="application/x-shockwave-flash">
</object>

    2 . 后台实现单元下面分类分成两级,我们知道joomla1.5只可以分一个类别,总的是单元-分类-文章,现在是单元-分类-子分类-文章,要实现这个,可以看看categories表,里面有一个parent_id,通过这个可以现实,我们把parent_id=-1规定为是父类,子类的parent_id是父类的id,默认都是parent_id= 0的,这样需要修改一下后台的添加分类代码,加入一个下拉菜单来读取父类列表,这里需要实现一个联动菜单,当你选择不同单元,出现不同的父类,具体实现代码和子分类功能,以后我会专门写这个实现过程。这里只是解决办法思路,有能力有需要的可以自己试试。

    3 . 自己开发的前台显示组建页面,很多时候是没有模块显示,出现这个问题是代码中少了Itemid这个字段,这个字段很重要,用来控制页面显示其他模块,可以在后台添加一个菜单,我们把显示改成None,也就是不显示,但是Itemid这个参数可以拿来控制显示,也许我讲的没人听懂,不过记录模块或组件没有在特定页面显示,多数和itemid这个参数有关系。

    4 . 在组建中,前台和后台开发多少还是有点小差别,比如前台一般主要是显示,偶尔也有提交数据功能,后台主要是管理,一般都是增删改查CURD操作。所以前台一般可以只写一个控制器,多个模型多个视图一一对应。后台一般需要多个控制器多个视图多个模型来操作,糊涂了吧,看看下面的连接就明白了

//后台
index.php?option=com_a&controller=a&view=a
index.php?option=com_a&controller=b&view=b//前台
index.php?option=com_a&view=a
index.php?option=com_a&view=b

    5 . 对于读取记录集,如果只有一条数据,一般我们加上查询语句的limit 1限制条件,这个来自数据库优化中,这样在查询时候用

//一条记录
$rs = $db->loadObject();//输出
$rs->title;//多条记录
$db->loadObjectList();//输出
foreach($rs as $list){$list->title;
}

这可以说是数据库操作的所有了,joomla中数据库操作最简单,只需要引用数据库静态连接,SQL查询语句,执行,获取记录集,然后按照想要的格式输出。SQL语句是关键,这个一般你可以在mysql管理器中写出查询语句,结果正确了再搬到joomla里面,不容易出错,也好调试。

    6 . joomla后台开发中有一系列生成HTML的控件,说实话,个人不喜欢,不过要想和joomla风格保持一致还是需要使用的,一般就是文本、单选、下拉菜单、文本域这几种。还有日期什么的多数时候都是隐藏域自动提交,修改时间可以用,对于那些参数获取和格式化数据,用PHP本身就可以,不过需要你自己检测提交的数据安全。

    7 . joomla表单验证,这个一般我们可以自己写jQuery代码,自带的虽然可以保持一致性的UI,但是感觉麻烦,又要多学些东西,其实jQuery强大到可以无视其他库,我想使用这个库的人是绝大多数,大众化的好。

    8. 对于网站的虚拟静态化,可以通过rewrite来实现,joomla全部设置可以修改。对于SEO,可以用模块,后台也可以设置部分。好了,这里暂时列举这些,后台还有更多的设置,你可以下载中文版来学习,等你熟悉了就可以使用英文版了,那时候不看单词,自然而然的知道哪种效果在哪里设置,这就是经验。

    总结一下,joomla不敢说多么简单,至少要想精通还是要花时间来学习一些系统的架构,这么优秀的cms架构还是值得学习的,它遵循了MVC的模式。以此来提高PHP技术,最终我们要达到的是学会需求分析和架构。路很遥远,对PHP+mysql学习的朋友,一起努力!!!

(原创 By Yoby)

转载于:https://www.cnblogs.com/logoove/archive/2012/05/18/2507205.html

谈谈joomla1.5中个人遇见的古怪问题相关推荐

  1. 谈谈WEB开发中的苦大难字符集问题

    记得刚做javaweb开发的时候被这个编码问题搞得晕头转向,经常稀里糊涂的编码正常了一会编码又乱了.那个时候迫于项目进度大多都是知其然不知其所以然.后来有时间就把整个体系搞了个遍,终于摸通了来龙去脉. ...

  2. mysql怎么删除临时表里的数据_谈谈MySQL数据库中临时表的应用

    MySQL在很多情况下都会用到临时表总结一下什么时候会用到临时表 什么是临时表MySQL用于存储一些中间结果集的表临时表只在当前连接可见当关闭连接时Mysql会自动删除表并释放所有空间. 以下讨论的是 ...

  3. 谈谈对java中分层的理解_让我们谈谈网页设计中的卡片设计

    谈谈对java中分层的理解 "I want a card", this is the first demand point that the customer said in th ...

  4. android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用

    数据库是按照数据结构来组织.存储和管理数据的仓库,而在信息话的社会,数据库又不单单仅限与数据的相关内容,现在数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,而SQL是结 ...

  5. C:谈谈内存分配中的(.data)段和(.bss)段的区别?为什么要分.data段和.bss段?

    区别: .data段: 存放已初始化的全局变量.在编译器编译的时候,会给已初始化的数据分配内存空间,数据保存在目标文件中. .bss段: (bss是英文Block Started by Symbol的 ...

  6. MySQL MGR搭建过程中常遇见的问题及解决办法

    这篇文章主要介绍了MySQL MGR搭建过程中常遇见的问题及解决办法,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下 MGR搭建过程中遇到的一些故障.更多资源请访问www.ffu9.c ...

  7. 计算机人文素养教案,谈谈信息技术课堂中人文素养培养的感想和体会

    谈谈信息技术课堂中人文素养培养的感想和体会 西安市远东第二中学 刘红霞 信息技术教学的过程不仅是传授知识.形成技能的过程,也是学生开启智慧与思考的过程,更是一种人文素养和科学文化浸润与陶冶的过程.人文 ...

  8. 谈谈深度学习中的 Batch_Size Batch_Size(批尺寸)是机器学习中一个重要参数,涉及诸多矛盾,下面逐一展开。 首先,为什么需要有 Batch_Size 这个参数? Batch 的选

    From Here 谈谈深度学习中的 Batch_Size Batch_Size(批尺寸)是机器学习中一个重要参数,涉及诸多矛盾,下面逐一展开. 首先,为什么需要有 Batch_Size 这个参数? ...

  9. xp计算机管理下的服务显示不出来,在xp系统中,遇见电脑不显示摄像头图标怎么办?...

    在xp系统中,遇见电脑不显示摄像头图标的情况,我们该怎么解决?接下来我们一起来看看吧. 主要症状 摄像头连接电脑,"我的电脑"没有出现摄像头图标 可能原因 1. 摄像头驱动未安装 ...

  10. 谈谈Windows程序中的字符编码

    sourece:http://www.fmddlmyy.cn/text7.html 谈谈Windows程序中的字符编码 写这篇文章的起因是这么一个问题:我们在使用和安装Windows程序时,有时会看到 ...

最新文章

  1. Toast的另类应用及另类“拦截”Home键
  2. hook java_Java 实现 Hook 对鼠标键盘监听 - 沐早'S NOTEBOOK - CSDN博客
  3. MongoDB安装启动教程
  4. 第五十三天:优化网站的常用方法
  5. centos安装mysql5.6系统崩溃_CentOS中安装MySQL5.6报错的解决方法
  6. NLP学习—15.多模态研究方向及在文本分类、文本生成的应用
  7. matlab连接散射点,使用小波散射做信号分类
  8. 实训-利用HTML+CSS制作某米官网首页
  9. Java多态实例主人和狗狗企鹅玩游戏
  10. 基于java民航售票管理系统源码(java毕业设计)
  11. 大学计算机案例教程旧照片修复,破损旧照片修复教程
  12. 导纳控制 admittance control
  13. .gitignore 不生效的解决方案
  14. c语言—实现扫雷游戏
  15. 计算机链接手机网络游戏,怎么用手机玩Wegame电脑游戏 Wegame手机玩电脑游戏方法分享...
  16. 人机交互是为了解决计算机的,人机交互与交互设计有什么区别
  17. 微服务框架之微软Service Fabric
  18. Facebook营销常犯的错误,看看你中招了吗?
  19. 幸运数字 HackerRank - leonardo-and-lucky-numbers
  20. 【赛报速递】“赛博朋克,无不可测!” 2020上海国际创客大赛EdgeX专题赛赛报之赛博联物篇

热门文章

  1. 医学图像分割--U-Net: Convolutional Networks for Biomedical Image Segmentation
  2. GitHub网站项目下载速度过慢、下载失败问题成功解决
  3. 决策树 Decision Tree
  4. 李宏毅 Gradient Descent总结
  5. linux的夹子的权限,linux系统下MegaCli使用方法
  6. mysql如何连接jdk,JDBC 简单的Mysql连接
  7. HashSet中add的执行过程
  8. Solana 交易执行机制
  9. FISCO BCOS Solidity 智能合约 返回多个值
  10. mdt抓取镜像后只显示回收站_又涨了!废纸价格贵过废铜烂铁,回收站缩减废旧物品收购规模...