发新话题
打印

[讨论]453 MOD 变革

[讨论]453 MOD 变革

最新版本的 cvs 45x

mod超级大变化..比如说mod..格式结构等全部变了

导致以前开发的所有mod都不适应....

如下面是logo 模块的代码.....
复制内容到剪贴板
代码:
<mos:comment>
@version $Id: login.html,v 1.7 2005/07/27 05:27:19 eddieajau Exp $
@package Mambo
@copyright (C) 2000 - 2005 Miro International Pty Ltd
@license http://www.gnu.org/copyleft/gpl.html GNU/GPL
</mos:comment>

<form action="{FORM_URL}" method="post" name="login" id="login">

<table width="100%" border="0" align="center" cellpadding="4" cellspacing="0" class="contentpane{PAGECLASS_SFX}">
<tr>
        <td valign="top" colspan="2">
                <mos:tmpl type="simplecondition" requiredvars="P_PAGE_TITLE=1" varscope="BODY">
                <!-- Show Header -->
                        <div class="componentheading{PAGECLASS_SFX}">
                                {P_HEADER_LOGOUT}
                        </div>
                </mos:tmpl>               
                       
                <div>
                        {IMAGE}
                       
                        <mos:tmpl type="simplecondition" requiredvars="P_DESCRIPTION_LOGOUT=1" varscope="BODY">
                                {P_DESCRIPTION_LOGOUT_TEXT}
                                <br/><br/>
                        </mos:tmpl>       
                </div>
        </td>
</tr>
<tr>
        <td align="center" width="50%">
                <table width="100%">
                <tr>
                        <td align="center">
                                <label for="username">
                                        <mos:Translate>USERNAME</mos:Translate>
                                </label>
                        </td>
                        <td align="center">
                                <label for="password">
                                        <mos:Translate>PASSWORD</mos:Translate>
                                </label>
                        </td>
                </tr>
                <tr>
                        <td align="center">
                                <input name="username" id="username" type="text" class="inputbox" size="20" />
                        </td>
                        <td align="center">
                                <input name="passwd" id="password" type="password" class="inputbox" size="20" />
                        </td>
                </tr>
                <tr>
                        <td align="center" colspan="2">
                                <br/>                               
                               
                                <label for="remember">
                                        <mos:Translate>REMEMBER_ME</mos:Translate>
                                </label>
                                <input type="checkbox" name="remember" id="remember" class="inputbox" value="yes" />
                               
                                <br/>
                               
                                <a href="{URL_PASSWORD}">
                                        <mos:Translate>LOST_PASSWORD</mos:Translate></a>
                               
                                <mos:tmpl type="simplecondition" requiredvars="REGISTER=1" varscope="body">
                                        <br/>
                                       
                                        <mos:Translate>NO_ACCOUNT</mos:Translate>
                                        <a href="{URL_REGISTER}">
                                                <mos:Translate>CREATE_ACCOUNT</mos:Translate></a>
                                </mos:tmpl>       
                               
                                <br/><br/><br/>
                        </td>
                </tr>
                </table>
        </td>
        <td>
                <div align="center">
                        <input type="submit" name="submit" class="button" value="<mos:Translate>BUTTON_LOGIN</mos:Translate>" />
                </div>
        </td>                       
</tr>
<tr>
        <td colspan="2">
                <noscript>
                        <mos:Translate>errorNoJavascript</mos:Translate>
                </noscript>
        </td>
</tr>
</table>

<input type="hidden" name="op2" value="login" />
<input type="hidden" name="return" value="{RETURN}" />
<input type="hidden" name="lang" value="{LANG}" />
<input type="hidden" name="message" value="{P_LOGIN_MESSAGE}" />

</form>

<mos:tmpl type="simplecondition" requiredvars="P_BACK_BUTTON=1" varscope="BODY">
<!-- Show Back Button -->
        <br/>
        <mos:link src="back_button" varscope="BODY"/>
</mos:tmpl>
没有做不到的模板.

TOP

mod_login研究

因为做模板的话经常要涉及到登陆模块所以先研究登陆模块

首先我们来看看结构啊....

一个模块的结构大概就是这样...
复制内容到剪贴板
代码:
\modules\tmpl\mod_login.html
\modules\mod_login.php
\modules\mod_login.xml
另外还有一个
复制内容到剪贴板
代码:
\components\com_login
复制内容到剪贴板
代码:
function _display( &$params ) {
                       
                $return = mosGetParam( $_SERVER, 'REQUEST_URI', null );
                $params->def( 'logout', $return );
               
                $type = modLoginData::getType($params);
                $vars = modLoginData::getVars($params, $return);
               
                $tmpl =& moduleScreens::createTemplate( 'mod_login.html' );

                $tmpl->addVar( 'mod_login', 'type', $type );
                $tmpl->addVars( 'mod_login', $vars );
                $tmpl->addObject( 'mod_login', $params->toObject() );
               
                $tmpl->displayParsedTemplate( 'mod_login' );
        }
复制内容到剪贴板
代码:
$tmpl =& moduleScreens::createTemplate( 'mod_login.html' );
调用  /tmpl/mod_login.html
没有做不到的模板.

TOP

每个模块都有自己的模版。。。
控制增强了,开发复杂了。

TOP

复制内容到剪贴板
代码:
                $tmpl->addVar( 'mod_login', 'type', $type );
                $tmpl->addVars( 'mod_login', $vars );
                $tmpl->addObject( 'mod_login', $params->toObject() );
               
                $tmpl->displayParsedTemplate( 'mod_login' );
这里的数据与 \modules\tmpl\mod_login.html 里面的名字有联系...

基本上改变模块的样式的话....直接改\modules\tmpl\mod_login.html 就可以了

至少我现在是这么觉得的...
没有做不到的模板.

TOP

引用:
原帖由 lang3 发表
每个模块都有自己的模版。。。
控制增强了,开发复杂了。
是复杂了

但是模块的模板怎么安装还是一个未知....

现在我也只能是按照以前的思路装一个模块....

-=-=-=-=-=
复制内容到剪贴板
代码:
        <files>
                <filename module="mod_login">mod_login.php</filename>
                <filename>tmpl/mod_login.html</filename>
        </files>
-=-=-=-=-=



还有就是\components 和 \modules 文件下面都有所谓的模板文件...
没有做不到的模板.

TOP



刚才已经成功制作打包安装测试 "mod_ms_login" ..~`

等下 我的 my_blog FOR MAMBO 4.5.3  模板等下可以正式使用...

:wink:


一个字强
没有做不到的模板.

TOP

MOD 编码不能为utf-8 否则
引用:
Component :: Login ms_Form File文件 /media/install_42f21ef4dd5d9/tmpl/mod_ms_login.html does not exist!
没有做不到的模板.

TOP

这可能是因为在453中更突出patTemplate引擎的应用(mambo452里其实就打乐附笔),这样使得模板的定制更加自由,使组件、模块以及模板设计这些第三方开发人员更如鱼得水;例如simpleboard等这样的组件一直就期待这个功能的实现。

最友好的地方就是,不管使是4.5.2版本以前就存在的site template,还是新引入的patTemplate模板引擎现在都可以使用,而site template更加大众化,patTemplate主要面向第三方开发设计人员。

这的确是个好消息  
God love us!

TOP

可以直接从452升级到453吗?保留原来数据

TOP

引用:
原帖由 junyang296 发表
可以直接从452升级到453吗?保留原来数据
1.可以升级
但是你现在升级的话你原本的全副组建模块等就不再适用。

2.这个只是测试版本。BUG很多。

简单的说不建议升级。
没有做不到的模板.

TOP

发新话题