Joomla中的Task 和view 深入学习

 

622762d0f703918f057e8039503d269758eec492

Joomla 是一个优秀的CMS系统,她可以让你快速的完成一个网站的建设,她提供组件,模块,模板能够满足你大部分的网站需求。而组件在其中举足轻重。

一、基本知识

组件(component ) 用于显示页面的主要数据。Joomla的组件采用的是MVC架构设计。 在一个页面请求产生时,其URL中可能包括task, view, layout等信息。我在这里就是要讨论这个task和view. 一般URL中如果含有task就不会含有view, 这里因为joomla认为task就完成一个特定的任务,比如说数据库操作,有效性验证等, 而view是负责显示数据。通常的设计是task里完成任务处理后,会调用setRedirect方法引导向一个view来显示数据。其实在joomla里,如果URL中没有指定task的话,会默认task为display。

二、问题

在项目中,需要在页面的meta数据里包含Open graphic protocol 数据。Open graphic protocol 用于给社交网络提供要分享的数据描述。 如果你的页面是通过task来完成的,然后 在task里通过setRedirect根据数据跳转到不同的view进行授权验证, 然后验证通过后显示数据页面的话,你可能会遇到这种问题:你需要分享这个页面,你在这个页面的meta数据里添加了Open graphic protocol 数据,你希望分享到facebook, google+等社交网站时,你会发现在分享页面显示的数据和图片并不是你想要显示页面的数据。

三、解决方案

上面的问题是因为Open graphic protocol 数据获取并不支持跳转,如果遇到跳转,一般都会去网站首页拾取数据,而这并不是我们想要的。引起这个问题就是setRedirect。 setRedirect的原理是发送给浏览里的HTML头中包含了跳转指令。而解决上面的问题的方法是不使用setRedirect, 而是使用display. 每一个JControllerLegacy都有一个display方法,你只要设置input里的view, layout, 以及其他你要传递过去的数据,然后调用display方法就可。

下面是示例代码:

    /**
     * 内部跳转,用于代替setRedirect. 为什么要这样子做呢?
     * 因为 setRedirect他会发送一个http头到浏览器,让浏览
     * 进行跳转,这样一来就多了一个网络请问, 这是其一。最
     * 为主要的是setRedirect在某些不支持浏览器redirect的情况
     * 下达不到效果,例如:open graphic protocal
     * 
     * @param type $view 要显示的view
     * @param type $layout 要显示的layout, 默认为NULL
     */
    protected function internalRedirect($view, $layout=null){
        $this->input->set("view", $view);
        $this->input->set("layout", $layout);
        return $this->display();
    }
    
    public function checkAvailable(){
        //其他的业务代码
        $this->input->set('tmpl', 'doexam');
        return $this->internalRedirect("doexam", $layout);
    }

上面的代码是写在你的Controller里的。函数internalRedirect通过设置$input(这个input是指url的输入参数) 中的view, layout,然后直接调用JControllerLegecy的display方法来显示页面。

在checkAvailable方法中,在调用internalRedirect之前,还设置了其他 view需要的参数。

梦溪的一个朋友说他在做他的一个网站 时遇到了这样的问题,我们讨论并分析了Joomla的实现代码,发现其实这个解决挺容易, 只要你熟悉Joomla组件开发。如果你有问题,可以找我一起交流

希望本文能够解决你所遇到的问题。

你做的每件事,是为了什么?

【本文转自:知乎

我是一名农村出生的女孩,在 211 大学本科念书,今年(2015年)要毕业了。 在大学一直努力奋斗,不过不打扮自己,做事情都以省钱为优先。 我一直认为,这样是正确的行为。直到某天,一位新室友的到来,让我开始感觉到迷惑,无法知道问题在哪里。 新室友挺漂亮的,主要是特别会打扮,舍得花钱买东西,家境普通,但是特别舍得买大牌,天天宅着看电视剧,不学习不运动不社交,就只会打扮,交了个男朋友也很有钱并经常以此炫耀。 她过得很幸福,从来不需要付出什么,当我在饭店里给人家端茶倒水当服务员只为了一天70块的时候,她在朋友圈里发跟男朋友吃法国大餐的照片,我的心里真有点不是滋味…… 她交了个很好的男朋友,典型高富帅,有钱很爱她,未来几十年也会很幸福。 而我,毕业了还单身,追我的我都看不上,喜欢的也不追我,毕业去北京读研,未来不知何去何从…… 我的人生一直很努力,比她努力的多。 几次我拼命熬夜读书晕倒的时候,她在睡觉看电视; 我参加社团活动当干部忙的不可开交,她在出去各种餐厅享受人生。 明明我付出那么多,为什么都20多岁了还是不能挣脱家庭的束缚。 姑娘与姑娘的区别,为什么这么大?

 

分析

 

姑娘,你的提问是比较诚恳的,我愿意为你写一点干货。
我觉得问题的关键是,你可能不是真正清楚,【你做的每一件事,是为了什么
详细点说:

  1. 因为自己的生长环境或过去所受的教育所限,总是觉得自己做了正确的事情(比如 努力学习/参加社团/辛苦实习),却并不明白这些事情为什么正确,以及在什么情况下正确;与此同时,容易觉得别人在做一些不正确的事情(比如 热衷化妆/不务正业),却并不明白这些所谓“不正确”的事情,其实并不是那么“邪恶”,它们也有自己的效益;
  2. 低估一件事情的“回报周期”。以为自己只要努力了,就一定能马上改变生活。
  3. 容易产生无意义的自怜情绪,比如 熬夜写作业 / 辛苦端盘子 等等。总有一种 “为什么我那么努力,却没有相应的回报”,可却不明白,当你的努力方向不正确的时候,这些努力常常毫无意义。
  4. 羡慕别人比自己多获得的东西,却只是觉得这不公平,而不去思考内在原因。比如你的室友不学习、不社交,在这些方面不如自己,但她却找到高富帅男朋友,生活滋润。上面的两件事情其实并没有明显关联,关联度更大的其实是 “化妆” 和 “找男朋友”。 如果说你的室友不学习,但发了很厉害的 paper,那才是值得探讨的。

实际上,我认为,在任何时候,当我们在做一件“非日常”事情的时候,都应该对它可能带给你的收获有一个预期。这是帮助你决策,并摆脱 “不知道在忙什么”、“为什么没有收获” 的一个很有效的方法。
首先,我们要排除一些“基本的”事情,因为这些事情每天或者定期都要做,且很难对你产生深远影响,比如:起床、刷牙、洗脸、吃饭、洗衣服、买日用品……
然后,对于剩下的事情,都可以从以下几个维度来进行一个剖析:

  1. 预期;
  2. 成本(时间 / 金钱);
  3. 见效时间;
  4. 半衰期;(类似于“效果持续时间”)
  5. 可能风险;
  6. 可能的额外收获;

……
这里,我只列了 6 个维度,但实际上可能有更多,可以根据自己的需要,列一个个性化的表单。
根据题主的情况,我来举几个例子:
bb0c774959e5cd562b7f2b01a57cfc0e_b 其中,1、2、3、7、8 是题主姑娘提到的内容。
其实,列完这张表格,很多问题就已经迎刃而解了。
现在来简单地剖析一下姑娘你文中提到的一些行为吧……
********************

  • “拼命熬夜读书晕倒”

如此拼命地读书,想必不是闲书,那么你读书是为了什么呢?
我表格中写的是:为后续课程提供先修 / 为未来工作提供有效工具
它的见效是很慢的,但半衰期长
对于这种特性的事件,我的建议是:不要争分夺秒(因为长期看,没有意义),要细水长流
所以说,你读书当然是好事,但拼命熬夜读书,除了感动自己,没有任何意义。
此外,你读书的效果,往往要很长以后才能体现出来,所以现在抱怨是毫无必要的。

  • “我参加社团活动当干部忙的不可开交”

如此繁忙地参加社团,是为了什么呢?
我曾经问过一些人这个问题,其中的不少人,马上就愣住了,他们完全不知道该怎么回答。
很多人,总是觉得自己做的事情是正确的,却很少去思考自己为什么这么做。
在表格中,我总结了,参加社团,主要目的不外乎:

  1. 结交有效人脉
  2. 提升活动组织能力
  3. (可能)拿奖学金
  4. (可能)充实简历

你看,除了第一项以外,在这里的每一项,都需要很长时间才能见效,而且见效的方向和你提升现在的生活都相去甚远。
而第一项,即 “结交有效人脉”,不知道姑娘你做得怎么样了。
同样地,参加社团也应该是细水长流的事情,为此忙得不可开交实在没有必要。

  • “也不打扮自己,干什么都很省”

姑娘请听我说,不打扮并没有任何优越感可言,省钱也并不是美德
问题的关键是,你不去打扮,省下的时间和金钱是否能抵消你不打扮的损失。
如果你觉得,在现阶段,打扮浪费时间和金钱,毫无意义,那自然可以不打扮,
但如果你决定这么想,那就不要羡慕打扮了的姑娘因为外貌而吸引了高富帅。
同样地,花钱并不意味着浪费,在经济允许的情况下,适度花钱,获得相应的受益,是被鼓励的。

  • “当我在饭店里给人家端茶倒水当服务员只为了一天70块的时候,她在朋友圈里发跟男朋友吃法国大餐的照片”

姑娘你刚刚毕业,当服务员一天70块想必是实习或者兼职。
在表格中,我已经写明,当服务员有什么好处。
私以为,当服务员的门槛相对不高,重复劳动居多,长期来看效益较低。作为一个 211 大学本科毕业的人,做这项工作,除了辛苦以外,意义不大。
找实习或者兼职,当然应该首选和专业相关的、能提升业务水平的工作,其次是钱比较多的。
不太理解你为什么要去做服务员,我猜可能和你周围的环境有关。
(当然,如果题主是类似于酒店管理专业的,那做服务员是有意义的)
与此同时,你提到,你的那个室友,在吃法国大餐,并发到朋友圈。
不必想太多。她做这些,并不是为了打击你,也无心这么做,她做这些可能是为了表明:

  • 享受了味觉盛宴;
  • 过得很开心;
  • 满足了自己的虚荣心。

由此也可见,姑娘你列举的两件事情,其实毫无可比性。
如果你说 “我在做服务员,她却在名企实习”,这才是值得思考的问题。
********************
总结:
当你列了这样一张 “预期表” 以后,本回答开头的那些问题,都得到了解决方案:

  1. 你会分析一件事情的得失,而不仅仅纠结于它“是否正确”——小孩子才分对错,大人只看利弊;
  2. 在做一些事情的时候,你会更加耐心。知道有些事情不会马上见效,所以不会再抱怨“为什么我努力了那么久,我的生活还没有马上变好”;
  3. 你了解了一件事情的真正效益和价值,知道很多事其实效率很低,至少“拼命”去做它是意义不大的,从而不会仅仅因为辛苦而产生“自怜”情绪;
  4. 你会分析事物之间的“因果关系”,不会再抱怨类似于“为什么我在辛辛苦苦种苹果,却没有吃到葡萄“之类的问题。

姑娘,祝你调整好心情,找对方向,继续前行。

人类文化的本质是计算吗?

【本文转自: http://www.guokr.com/post/656451/

人类文化的本质是计算吗?

这个问题困扰了很多人,虽然很多人没有真正想过这个问题,但也一定被它间接困扰过,因为是是人都被文化的问题困扰过。

文化的问题很多……,文化是真实存在的吗?人类的文化观念是一种虚幻,还是一种实在?是一种真理,还是一种搞笑?我们为什么会迷恋文化的观念,就像女人会迷恋高跟鞋,男人想生个儿子传宗接代,这一切的文化观念是为了什么?人为什么追逐这些,信仰这些,迷恋这些,甚至痛苦这些观念呢?

简而言之,人类的文化观念发展是一种崇高信仰的驱动,社会发展的必然,还仅仅是一种大自然的梦呓,全无科学性和决定论,只是某种特定物理数学规律的随机现象?

我们信仰的基督教、佛教、伊斯兰教、共产主义、科学发展观、三个代表、中国特色社会主义,究竟是扯淡呢,还是伟大的信仰?

这一切在过去都晦暗不明,无从谈起,不知所云,现在有了结果,这就是美国物理学家斯蒂芬·沃尔夫勒姆发现的观点:宇宙的本质是计算。

非常感谢果壳网做了这篇深度采访,它的主人公揭示了宇宙的意义。

http://www.guokr.com/article/439770/?page=3#comments

《【果壳网专访】斯蒂芬·沃尔夫勒姆:宇宙的本质是计算》

沃尔夫勒姆认为,这正是我们宇宙的本质;我们的世界就是计算,就是一套简单的规则生成的复杂现象。

还有一本名为《一种新科学》的奇书。在这本引发巨大争议的书里,沃尔夫勒姆完整地阐述了他的世界观:自然界的本质是计算,但计算的本质必须用实验探索。过去的研究者要么使用纯数学去研究计算,要么把计算看成工程的工具。但沃尔夫勒姆认为,我们需要从经验出发、为了计算本身而探究计算,这是一种新的路线,书名也因此而来。

什么叫计算呢?就是基于少数简单规则产生的复杂计算结果的现象。

一些基本粒子聚合起来,根据物理规律和数学原理,成为苹果,有甜味,可吃,这就是简单规则的复杂计算结果。

那么这结果有意义吗?对于你我来说,当然有意义,但对于粒子来说没有任何意义。简单地说,我们的意义并不是数学模型,也不是宇宙规律,而仅仅是这种模型和规律的一种计算结果的表象。粒子没有成为苹果的动机,一堆粒子(亿万粒子)更没有成为苹果的动机,它们也不是想参加宇宙的演化,生物的进化,解决人类粮食的需求,这些观念都是幻觉,但是我们看到苹果了,也尝到味道了,这又是实实在在的,但这种实在并非宇宙的目的。

宇宙是宿命论的,决定论的,但不是为我们而宿命而决定的,我们只是它自身宿命、决定的表象,就像海浪溅起的泡沫一样,没有特殊的意义。

我们的主义,我们的宗教,往往如此,无数革命的先烈,宗教的义士所付出的牺牲也往往如此。

就像基因决定论一样,不管我们怎么折腾,人生多么华彩,或充满苦难,或戏剧性,在基因看来(如果它是有思想的)都是次要的,无意义的。人生再怎么折腾,都是为了基因的万古长存。不管人是混的很锉,还是很精彩,只要能把孩子生下来,养大,再让他们一代代继续生孩子,基因就成功了,至于人类伟大不伟大,母爱伟大不伟大,人生伟大不伟大,那都是次要的,泡沫性质的。人类是基因的载体,基因从一个载体跳到另外一个载体,追求的是跳跃,是长存,而不是我们这些载体的成功或失败。我们是马克思还是希特勒,对于它来说都是次要的,希特勒没生出孩子没有关系,希特勒的基因还很多,可以遍地开花,马克思有了一堆私生子也没什么了不起的,基因也不能保证他们家族代代相传。既然人类的生物本质仅仅是这样,那么人类繁衍的意义何在呢?

我们全部的人生,全部的历史,全部的文化观念,都是规则计算后的表象,结果,与规则本身无关,甚至规则都不知道它的结果会是什么样,它也不关心。就像沃尔夫勒姆研究的“细胞自动机”,很多计算结果都是有意义的,但这意义对于规则来说毫无意义,这只是更高层次的人类所能理解的意义,就像计算机软件之于计算机硬件处理芯片的意义一样,你如果非要问一颗CPU,它计算运行的那些office软件有什么意义,它才不知道呢,它也不关心是什么意义。对于它来说一切计算结果都没有意义,它只是在加减乘除,寄存器移位,根据量子力学和半导体的原理,忙着浪费电。


“脉冲星”:它的周期为3,看起来像一颗周期爆发的星星。

“滑翔者”:每4个回合“它”会向右下角走一格。虽然细胞早就是不同的细胞了,但它能保持原本的形态。
“轻量级飞船”:它的周期是4,每2个回合会向右边走一格。

“滑翔者枪”:它会不停地释放出一个又一个滑翔者。

“繁殖者”:它会向右行进,留下一个接一个的“滑翔者枪”。动图最后一帧定格时用三种颜色区分了繁殖者本体、滑翔者枪和它们打出来的滑翔者。

我们的人生,我们的文化观念真的不像我们想像的那么伟大的,充满先知的导引,历史的必然,或科学的真理性。。。

我们要勇敢地承认,我们所坚持的,信仰的那些东西,包括宇宙本身的形态,只不过是宇宙规则简单计算的一些复杂表象结果,这些结果不代表什么。或者有人说,我们的文化观念不是完全的物理学数学随机现象,我们的文化有精心设计的一面,比如民主独裁、娶妻生子、婚礼仪式,都有着极其复杂的文化描述、有文化动机和文化规律,以及文化的目的性,是自然演化的丰富结果,是深刻的人类人生意义。。。不错,但那又怎样?你能设计出一个违反规则的文化吗?比如大家都不生孩子,都不结婚的文化,都可以共产主义乱搞的文化?

不可能吧?人类不可能选择这样的文化。这样的文化会导致人类的灭绝。人类灭绝了,一切文化就不存在了,至少对于人类这个物种来说是不存在的;那么这个文化就没有它本身的目的性,它不是自由意志的,它不是随意创造的丰富多彩,它只是一种被动的结果,计算的结果。

我们不可能反自然,反宇宙规律,那我们还能创造什么呢?到底是我们在创造,还是冥冥之中的“它”在创造,这是一个值得思考的问题,比to be or not to be还值得思考。

也许《解放军报》说的对,我们发现了“宇宙的真理”,OK,但那宇宙的真理绝对不是什么“中国梦”,“习大大”,而是“宇宙的本质是计算”。

我不知道这样的真理有什么意义,也许这就是释迦牟尼所说的,“我觉悟了”。是的,我们从文化的迷雾中醒来,发现宇宙如此简单,又如此荒凉,它有一种冷酷的美,毙命的美,消灭一切意义的美。

人生该给自己定个目标,站得高,看得远

c9fb05d8_8522_47b6_a3c4_9492c6416ae8 

下雨天下班回家的路上,低头正过马路,看见一不小心就要踩到一滩积水,当下大急,双脚一用力,越过了,没想到前面又是一滩水,顿时鞋子就湿了

后来想想,我为什么眼睛不往前多看一点呢?这样我岂不是就可以早点发现那些水滩吗? 是啊,想想,人生岂不是也一样? 如果我们往前多看一看,生活可以不像现在这样? 目标就是我们生活的前方,给自己定一个合理的目标,眼睛看着那里,一路走下去,我们可能就成就了自己

很多人很迷茫,为什么?因为他们只盯着脚下,没有目标,没有目标,就不知道脚下该如何走,就不知道脚该如何下,所以迷茫;所以,工作一个换一个,每一个都做不了多长,一次又一次,时间过了,生活还在原地踏步

其实他们知道自己这样不好,可就是改变不了,为什么? 因为他们不知道该做什么? 怎么做! 因为他们没有目标!

其实想要改变并没有那么难,第一步,就是给自己设定一个目标, 第二步,细分目标,分阶段化实现, 第三步, 脚踏实地,一步一步坚实的往前走

一、设定目标

静下心来想一想,每个人都会有自己所感兴趣的东西,有自己所好奇的东西,有自己想要弄明白而还没有明白的东西。这些东西可能因为生活所迫而放弃。 所以,不管你现在生活如何,富足也好,贫穷也罢,这些都不要紧,要紧的是你要敢想。如果你连想都不敢想,那么你的人生到现在已经过完了, 剩下的只是不断地重复而已。

抛开你现在的处境不谈,只想想你想要做的,好奇的,把它做为你最终的目标。如果你生活不好,就把改善生活做为其中的一个阶段性目标。

二、细分目标,分阶段实现

把目标细分,做到每个小目标都基本可以实现,时间不会太长,阶段目标越小越好,要求实现时间越短越好。不断去分,对自己的目标就会有足够的信心。比如,前期你可能的目标是好好工作一个月,存下2000块钱,我相信,这个目标,任何一个正常的人都能够做到,只要控制自己一个月的欲望,不买花费大的东西而已,一个月而已,时间很快就会过去,而下个月,你也可以这样继续要求自己,不段地提升自己

三、脚踏实地,一步一步坚实的往前走

每一个目标, 你都应该要求自己,圆满完成,时间一长,一个月接一个月,不出5个月,你会发现自己比以前更加自信,更加明白自己所处的位置,从而再也不迷茫

 

人生,其实就是要敢想, 让一切都去他妈的吧…. 哈哈

 

2015年5月7日有感,记于晚12:03分