Joomla系统是支持多语言的,如果你愿意也可以为你的模板提供多语言的支持。本节我们就来给模板增加多语言支持

1,本节目标


了解如何给模板增加多语言支持

2,模板的多语言


2.1 什么是模板的多语言

如果大家经常使用国外的扩展,就会发现这些扩展默认的后台都是提供英文界面的,但是一旦安装了中文语言包,就变成中文了。这是因为该扩展支持多语言。那么接下里我们要做的就是将模板实现多语言的支持。

2.2 多语言效果

系统会自动依据当前用户的语言来加载对应的语言包,以便输出对应的语言词条

当后台语言选择为中文是:

当后台语言选择为英文是:

 

3,如何实现多语言支持


要实现多语言的支持,我们需要做如下的调整

3.1 调整TemplateDetail.xml中的参数定义。将原先直接写的文字使用一个代码来取代。如下:

<config>
	<fields name="params">
		<fieldset name="advanced">				
			<field 
				name="logo" 
				type="media" 
				label="TPL_PLANC_LOGO_LABEL"
				description="TPL_PLANC_LOGO_DESC" 
				default="templates/planc/image/logo.png"
			/>
			<field
				name="style"
				type="filelist"
				label="TPL_PLANC_STYLE_LABEL"
				description="TPL_PLANC_STYLE_DESC" 
				directory="templates/planc/styles" 
				filter=".php" 
				required="true"
				default="default.php"
			/>				
		</fieldset>
	</fields>
</config>

 在上面我们将原先的label="网站Logo"该为使用 label="TPL_PLANC_LOGO_LABEL"来代替了。

从上图中可以看到planc现在有两种风格了。一个是默认,一个是首页宽屏风格。这两种风格唯一的不同就是模板的参数设置值不同。默认风格设置的布局风格为default.php。首页宽屏风格设置是home.php。如图:

4,实现模板风格


 如果你做完了上面的设置,刷新前台,你会发现前台根本没有变化。这是因为我们还没有实现这些参数以及布局文件。接下来要做的就是改进我们的代码的结构。

<html>
	<head>
		<jdoc:include type="head" />
	</head>
	<body>
		<?php  
			$style = $this->params->get("style","default.php");
			$layoutFile = JPATH_ROOT."/templates/planc/styles/".$style;
			ob_start();
			include($layoutFile);
			$output = ob_get_contents();
			ob_end_clean();
			echo  $output;	
		?>		
	</body>
</html>

在index.php中我们做的就是首先获得当前使用的布局风格,然后加载这个风格对应的文件。 现在我们将全部的布局文件的细节放到具体的style中去实现了。这样通过在具体的风格中文件中定义不同的模块位置就是可以实现多种页面风格了。home.php代码片段如下:

<div class="mid">		
	<?php if ($this->countModules('scroll-row')) : ?>
	<div class="scroll-row">
		<jdoc:include type="modules" name="scroll-row" style="none" />
	</div>
	<?php endif ?>
	
	<?php if ($this->countModules('feature-row')) : ?>
	<div class="features-list">
		<jdoc:include type="modules" name="feature-row" style="featureRow" />
	</div>
	<?php endif ?>
</div>

home布局的顶部和尾部和default一样,唯一不一样的就是中部,在home的中部没有定义组件输出,一个scroll-row位置和feature-row这个位置.

 4,v0.0.18版本


 4.1 代码

在本次版本中,我们对模板的执行流程进行了重新的设计,将具体的模块位置的定义单独提取放到style下面的布局文件中。但我们需要增加新的布局,只需要将原有的文件复制一份,在原有基础上进行修改即可。通过这种方法我们可以实现任何风格的页面

 

4.2 前台效果

4.3 v0.0.18版本

关于v0.0.18版本的代码,可以在此下载 [下载文件:]tpl_plancv0.0.18_2019-01-19_for_j3x.zip

5,说明


  • 在Joomla中,要求所有的文件都必须是UFT8 无BOM格式的。否则可能出现异常
  • 在本版本中我们增加了styles文件夹,在打包安装包的时候不要忘记在templateDetail.xml文件中增加 

 

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前