Posted by: MindTree in Untagged on
8月 , 2010
要在Joomla模板中增加自定义化的模块结构(module chrome),我们需要在模板路径里的html文件夹中创建一个modules.php文件。例如:
Joomla根路径/templates/模板名/html/modules.php
在这个文件中,我们需要创建一个名为modChrome_STYLE的函数,其中STYLE部分为自定义的模块结构名称。如下所示,这个函数需要三个参数,$module,&$params和&$attribs
<?php
function modChrome_STYLE( $module, &$params, &$attribs )
{
/* chromed Module output goes here */
}
?>
通过这个函数,我们可以为我们的自定义模块添加任何可用的模块属性。下面几个模块属性是我们需要重点了解的: $module->showtitle,$module->content 和$module->title。$module->showtitle是一个布尔变量,值可以为“true”(当模块标题被设置为显示时) 和“false”(当模块标题被设置为隐藏时)。$module->content和$module->title分别负责返回模块内容与模 块标题文字。下面是一段实例,我们通过判断$module->showtitle的值来确定是否输出模块标题。
<?php
if ($module->showtitle)
{
echo '<h2>' .$module->title .'</h2>';
}
?>
modChrome_STYLE函数的参数$params负责读取模块参数(Module parameters)。例如,我们可以在管理后台的模块管理中为某个模块添加后缀class名,这个class名就会存储在该模块的moduleclass_sfx参数中;如果我们需要在模块结构中创建包含这个class的<div>,那么可以使用类似下面这样的代码:
<div class="<?php echo $params->get( 'moduleclass_sfx' ); ?>">
<!-- div contents -->
</div>
自定义模块属性
我们可以通过<jdoc:include />声明来为模块结构添加更多额外的自定义属性。这些自定义属性可以是我们所需的任何形式,它们会被存储在modChrome_STYLE函数的第三个参数$attibs中。下面的代码展示了一个比较完整的modChrome_custom函数:
<?php
function modChrome_custom( $module, &$params, &$attribs ) {
if (isset( $attribs['headerLevel'] ))
{
$headerLevel = $attribs['headerLevel'];
} else {
$headerLevel = 3;
}
if (isset( $attribs['background'] ))
{
$background = $attribs['background'];
} else {
$background = 'blue';
}
echo '<div class="' .$params->get( 'moduleclass_sfx' ) .'" >';
if ($module->showtitle)
{
echo '<h' .$headerLevel .'>' .$module->title .'</h' .$headerLevel .'>';
}
echo '<div class="' .$background .'">';
echo $module->content;
echo '</div>';
echo '</div>';
}
?>
接下来我们可以通过向<jdoc:include />传递所需的参数来为模块设置背景色和标题级别(h1,h2,h3...);如果不做设置,那么根据modChrome_custom函数中的定义,背景色默认为蓝色,标题级别为h3。设置方法参照下图

Posted by: OneWorld in Untagged on
8月 , 2010
我们可以在<jdoc:include />声明中添加样式属性style="stylename"来控制Joomla模块的HTML输出模式,其中stylename对应着不同的模式名称:
None
模块样式的默认值,即不做任何样式定义,没有任何额外的样式被添加。
Table
整个模块会被一个不定宽度的,class名称为.moduletable的<table>包裹起来,模块标题通过<th>输出。
Horz
没有任何额外的样式被添加,输出与Table模式相同,但<table>的宽度被设定为100%
XHTML
整个模块会被一个class名称为.moduletable的<div>包裹起来,模块标题通过<h3>输出。
Rounded
整个模块会被4个<div>嵌套包裹,用以生成圆角样式;最外层<div>的class为.module。模块标题通过<h3>输出。
Outline
模块由一个class名称为.mod-preview-wrapper的<div>包裹,外面再包裹一层class为.mod-preview的<div>;一个与.mod-preview-wrapper同级的class为mod-preview-info的<div>用来显示当前模块的位置名称。(这种模式通常用于在开发调试过程中将各模块位置及名称直接在页面上以轮廓的形式显示出来。)
Posted by: OneWorld in Untagged on
8月 , 2010
Drupal 是基于Apache, MySQL和PHP等技术开发的开放源代码软件,可运行于Windows、Linux/Unix 和 MAC OS X环境。由于相关软件基本都可免费获得,所以Drupal也可以完全免费地安装使用。
过去,Apache、MySQL和PHP这样的开源软件在安装和配置方面都还需要一些专业的技能,所以普通PC用户并不能够很好地运用他们。现在,网上出现了很多经过整合、配置和包装处理的Web服务器安装配置平台,普通用户只要下载并运行其安装程序,就能轻松配置好一个基于Apache、MySQL和PHP(AMP)的Web服务器运行环境。在此之上要安装和配置Drupal就非常容易了。
AMP类型的Web服务器环境,由于分别支持Windows和Linux/Unix平台,又各自被称为WAMP和LAMP。我曾经使用过的这类软件包,有支持 Windows 平台的 Uniform Server 和WinServer,也有同时支持 Linux 平台的 BitNami WAMP 和 LAMP Stack。如果你希望在Windows环境下安装Web服务器环境,又不想其在注册表中写入太多信息,就可以选择Uniform Server。
Bitnami提供的是 Windows 标准的图形化安装程序,只要按照提示,一路确认,必要时输入相关信息,就能完成安装。对于那些根本不关注技术细节,只想直接体验或使用Drupal的人,Bitnami还提供了包含Drupal在内的安装包,安装完成后,就可以立即打开 Drupal 网站进行测试、定制或使用,的确非常方便。不过Bitnami只提供针对正式版本的Drupal软件包。如果要提前体验 Drupal 7,目前还只能自己动手。
假设你已经根据上述方法,下载安装了LAMP或WAMP的Web环境,经过测试后证明Web服务器已经可以正常工作,就可以直接从 http://www.drupal.org 下载 Drupal 7 的安装包(通常这是一个压缩文件包),解压到Web服务器的www目录下任何你愿意使用的子目录中,就可以开始下一步的安装。Drupal 7的安装配置要求修改以下配置:
1)启用PHP的PDO选项。
2) 修改memory_limit 参数为40M以上,最好为64M。
3)在你的Drupal安装目录中创建settings.php文件。
完成这些修改后,重启Web服务器的所有服务。然后,直接从浏览器中访问你的Drupal子目录,安装过程就开始了。如果前面的设置正确,安装基本会在几分钟内完成,你就可以开始检验新的Drupal 7了。
Posted by: bin in Untagged on
3月 , 2009
目标: 用户完成注册后,提示帐号待审核状态,我们会尽快处理,并将处理结果通过注册时的电子邮件通知用户.管理员后台登录后,显示待审核用户,可以通过,也可以驳回.不管哪种,都通过email告诉用户.
解决的思路
1.采用Jom Social来扩展用户自定义的定段.将默认登录的注册连接指向的JomSocial中的注册页面.
2.将系统设计为允许注册用户,并将New User Account Activation=Yes
3.用mod_useract来显示待审批的用户,每条记录的后面都有拒绝和通过的操作.
4. 注册时先不发激活邮件, 这是Jom Social中的模块,因为注册用它,componentscom_communitycontrollersregister.php
注释掉 $this->_sendMail($user, $password);
5. 修改用mod_useract发送给用户的语言,默认mod_useract语言放在 administratorlanguageen-GBen-GB.mod_useract.ini
修改文件名为zh-CN.mod_useract.ini,并将其放到
administratorlanguagezh-CN下.
6.修改zh-CN.mod_useract.ini的内容
当然,也可以直接用CB这个组件,但是似乎无缘,所以采用上面的曲折方式,顺便说一直,CB可以扩展字段,但我不确定有审批功能。