您好,欢迎访问三七文档
JoomlaJoomlaJoomlaJoomla文档中文翻译----怎样在templateDetails.xmltemplateDetails.xmltemplateDetails.xmltemplateDetails.xml文件中为模板添加语言文件声明Joomla文档中文翻译-模板相关Sunday,15November200913:30要使我们的JoomlaJoomlaJoomlaJoomla模板更加国际化,更利于传播与分享,我们必须确保templateDetails.xml文件中的一些关键要素被正确的翻译(至英文),并列出相关语言定义文件。翻译templateDetails.xmltemplateDetails.xmltemplateDetails.xmltemplateDetails.xml文件templateDetails.xml文件中的一些要素会在站点管理后台的模板管理(TemplateManager)中被使用到,它们必须被正确的翻译成英文,例如:•name:模板的名称,如“Beez”。•description:模板的描述。这些信息同样会在模板安装的过程中向用户显示。向templateDetails.xmltemplateDetails.xmltemplateDetails.xmltemplateDetails.xml中添加语言定义文件所有的语言文件必须在templateDetails.xml文件中被声明,方法是通过添加language标签将语言定义文件包括进来。有些语言文件用于站点前台,有些用于管理后台,对于这两种语言文件我们需要分别添加。在下面的示例中,我们将两个英语文件和两个德语文件(分别用于前后台)一起添加到Beez模板中:?xml?xml?xml?xmlversion=”1.0”encoding=”utf-8”????installinstallinstallinstallversion=”1.5”type=”template”.........languageslanguageslanguageslanguageslanguagelanguagelanguagelanguagetag=”en-GB”en-GB.tpl_beez.ini/language/language/language/languagelanguagelanguagelanguagelanguagetag=”de-DE”de-DE.tpl_beez.ini/language/language/language/language/languages/languages/languages/languages.........administrationadministrationadministrationadministrationlanguageslanguageslanguageslanguagesfolder=”admin”languagelanguagelanguagelanguagetag=”en-GB”en-GB.tpl_beez.ini/language/language/language/languagelanguagelanguagelanguagelanguagetag=”de-DE”de-DE.tpl_beez.ini/language/language/language/language/languages/languages/languages/languages/administration/administration/administration/administration/install/install/install/install为管理后台添加的语言文件声明需要放在administration标签中,因为用于前后台的语言文件的文件名是相同的,所以不可以在相同的路径中进行声明。JoomlaJoomlaJoomlaJoomla文档中文翻译----怎样在模板中自定义模块结构(module(module(module(modulechrome)chrome)chrome)chrome)Joomla文档中文翻译-模板相关Monday,16November200910:20要在JoomlaJoomlaJoomlaJoomla模板中增加自定义化的模块结构(modulechrome),我们需要在模板路径里的html文件夹中创建一个modules.php文件。例如:Joomla根路径/templates/模板名/html/modules.php在这个文件中,我们需要创建一个名为modChrome_STYLE的函数,其中STYLE部分为自定义的模块结构名称。如下所示,这个函数需要三个参数,$module,&$params和&$attribs?php?php?php?phpfunctionfunctionfunctionfunctionmodChrome_STYLE($module,&$params,&$attribs){/*chromedModuleoutputgoeshere*/}????通过这个函数,我们可以为我们的自定义模块添加任何可用的模块属性。下面几个模块属性是我们需要重点了解的:$module-showtitle,$module-content和$module-title。$module-showtitle是一个布尔变量,值可以为“true”(当模块标题被设置为显示时)和“false”(当模块标题被设置为隐藏时)。$module-content和$module-title分别负责返回模块内容与模块标题文字。下面是一段实例,我们通过判断$module-showtitle的值来确定是否输出模块标题。?php?php?php?phpif($module-showtitle){echo'h2'.$module-title.'/h2';}????modChrome_STYLE函数的参数$params负责读取模块参数(Moduleparameters)。例如,我们可以在管理后台的模块管理中为某个模块添加后缀class名,这个class名就会存储在该模块的moduleclass_sfx参数中;如果我们需要在模块结构中创建包含这个class的div,那么可以使用类似下面这样的代码:divclass=?php?php?php?phpecho$params-get('moduleclass_sfx');????!--divcontents--/div自定义模块属性我们可以通过jdoc:include/声明来为模块结构添加更多额外的自定义属性。这些自定义属性可以是我们所需的任何形式,它们会被存储在modChrome_STYLE函数的第三个参数$attibs中。下面的代码展示了一个比较完整的modChrome_custom函数:?php?php?php?phpfunctionfunctionfunctionfunctionmodChrome_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'divclass='.$params-get('moduleclass_sfx').'';if($module-showtitle){echo'h'.$headerLevel.''.$module-title.'/h'.$headerLevel.'';}echo'divclass='.$background.'';echo$module-content;echo'/div';echo'/div';}????接下来我们可以通过向jdoc:include/传递所需的参数来为模块设置背景色和标题级别(h1,h2,h3...);如果不做设置,那么根据modChrome_custom函数中的定义,背景色默认为蓝色,标题级别为h3。设置方法参照下图:另外,这个帖子中讲到了很多关于向模块结构传递参数的问题,可以作为参考。JoomlaJoomlaJoomlaJoomla文档中文翻译----原生模块结构(module(module(module(modulechrome)chrome)chrome)chrome)类型及对应的HTMLHTMLHTMLHTML输出Joomla文档中文翻译-模板相关Tuesday,17November200909:31前面一篇Joomla文档译文中描述了怎样在模板中自定义模块结构(modulechrome),今天继续有关模块结构的话题,来看看Joomla原生的几种模块类型以及它们各自对应的HTML输出。我们可以在jdoc:include/声明中添加样式属性style=stylename来控制Joomla模块的HTML输出模式,其中stylename对应着不同的模式名称:NoneNoneNoneNone模块样式的默认值,即不做任何样式定义,没有任何额外的样式被添加。TableTableTableTable整个模块会被一个不定宽度的,class名称为.moduletable的table包裹起来,模块标题通过th输出。HorzHorzHorzHorz没有任何额外的样式被添加,输出与Table模式相同,但table的宽度被设定为100%XHTMLXHTMLXHTMLXHTML整个模块会被一个class名称为.moduletable的div包裹起来,模块标题通过h3输出。RoundedRoundedRoundedRounded整个模块会被4个div嵌套包裹,用以生成圆角样式;最外层div的class为.module。模块标题通过h3输出。OutlineOutlineOutlineOutline模块由一个class名称为.mod-preview-wrapper的div包裹,外面再包裹一层class为.mod-preview的div;一个与.mod-preview-wrapper同级的class为mod-preview-info的div用来显示当前模块的位置名称。(这种模式通常用于在开发调试过程中将各模块位置及名称直接在页面上以轮廓的形式显示出来。)以上。在明天的Joomla文档译文中我们一起进一步详细了解下每种模块结构的输出范例。(这里:Joomla文档中文翻译-什么是模块结构)JoomlaJoomlaJoomlaJoomla文档中文翻译----什么是模块结构(module(module(module(modulechrome)?chrome)?chrome)?chrome)?Joomla文档中文翻译-模板相关Wednesday,18November200909:45前面两篇Joomla文档译文分别描述了“怎样在模板中自定义模块结构”和“原生模块结构类型及对应的HTML输出”;今天我们回头来看看什么是模块结构(modulechrome);逻辑上有些混乱,我也确实没有预先为待翻译的文档做排序;作为知识补完与强化吧。什么是模块结构(module(module(mo
本文标题:joomla模板篇
链接地址:https://www.777doc.com/doc-1908897 .html