Browse Source

优软科技网站首页及内页TDK设置

huangct 8 years ago
parent
commit
4cc3090368

+ 28 - 4
jpress-web-admin/src/main/java/io/jpress/admin/controller/_OptionController.java

@@ -15,11 +15,8 @@
  */
 package io.jpress.admin.controller;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import com.jfinal.aop.Before;
-
+import com.jfinal.kit.PathKit;
 import io.jpress.core.JBaseController;
 import io.jpress.core.interceptor.ActionCacheClearInterceptor;
 import io.jpress.interceptor.UCodeInterceptor;
@@ -28,14 +25,41 @@ import io.jpress.message.MessageKit;
 import io.jpress.model.query.OptionQuery;
 import io.jpress.router.RouterMapping;
 import io.jpress.router.RouterNotAllowConvert;
+import io.jpress.template.TemplateManager;
 import io.jpress.utils.StringUtils;
 
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 @RouterMapping(url = "/admin/option", viewPath = "/WEB-INF/admin/option")
 @Before(ActionCacheClearInterceptor.class)
 @RouterNotAllowConvert
 public class _OptionController extends JBaseController {
 
 	public void index() {
+		if ("web".equals(getPara())) {
+			List<String> fileNames = new ArrayList<String>();
+			String path = TemplateManager.me().currentTemplatePath();
+			File pathFile = new File(PathKit.getWebRootPath(), path);
+			File[] files = pathFile.listFiles(new FileFilter() {
+				@Override
+				public boolean accept(File file) {
+					return !file.isDirectory() && (file.getName().endsWith(".html")) && (file.getName().startsWith("page") || file.getName().startsWith("content") || file.getName().startsWith("taxonomy"));
+				}
+			});
+			for (int i = 0; i < files.length; i++) {
+				String fileName = files[i].getName();
+				if (StringUtils.isNotEmpty(fileName.trim())) {
+					fileNames.add(fileName.substring(0,fileName.lastIndexOf(".")));
+				}
+			}
+
+			setAttr("fileNames", fileNames);
+		}
 		render((getPara() == null ? "web" : getPara()) + ".html");
 	}
 

+ 99 - 1
jpress-web-admin/src/main/webapp/WEB-INF/admin/option/web.html

@@ -35,7 +35,7 @@
 						</div>
 						<div class="col-sm-9  jp-set-title-line">
 							<div class="col-sm-6 jp-table-distance-top ">
-								<input class="form-control input-md" placeholder="请输入网站标题" type="text" name="web_title" value="${OPTION('web_title')!}">
+								<input class="form-control input-md" placeholder="请输入网站标题" type="text" name="web_title" value="${OPTION('web_title')!}">
 							</div>
 						</div>
 						<div class="clr"></div>
@@ -53,6 +53,30 @@
 						<div class="clr"></div>
 					</li>
 
+					<li class="jp-set-pad">
+						<div class="col-sm-3 ">
+							<div class="  jp-set-info ">关键字</div>
+						</div>
+						<div class="col-sm-9  jp-set-title-line">
+							<div class="col-sm-6 jp-table-distance-top ">
+								<input class="form-control input-md" placeholder="请输入网站关键字" type="text" name="meta_keywords" value="${OPTION('meta_keywords')!}">
+							</div>
+						</div>
+						<div class="clr"></div>
+					</li>
+
+					<li class="jp-set-pad">
+						<div class="col-sm-3 ">
+							<div class="  jp-set-info ">描述</div>
+						</div>
+						<div class="col-sm-9  jp-set-title-line">
+							<div class="col-sm-6 jp-table-distance-top ">
+								<input class="form-control input-md" placeholder="请输入网站描述" type="text" name="meta_description" value="${OPTION('meta_description')!}">
+							</div>
+						</div>
+						<div class="clr"></div>
+					</li>
+
 					<li class="jp-set-pad">
 						<div class="col-sm-3 ">
 							<div class=" jp-set-info ">网站域名</div>
@@ -70,6 +94,80 @@
 			</div>
 			<!-- /.box -->
 		</div>
+
+		<#if fileNames ??>
+			<#list fileNames as fileName>
+				<#if fileName??>
+					<div class="row">
+						<div class="col-xs-12">
+							<h4 class="jp-set-title">${fileName}常规选项</h4>
+							<ul class="list-unstyled">
+								<li class="jp-set-pad">
+									<div class="col-sm-3 ">
+										<div class="  jp-set-title-line jp-set-info ">${fileName}网站名称</div>
+									</div>
+									<div class="col-sm-9  jp-set-title-line">
+										<div class="col-sm-6 jp-table-distance-top ">
+											<input class="form-control input-md" placeholder="请输入网站名称" type="text" name="${fileName}_web_name" value="${OPTION(fileName+'_web_name')!}" />
+										</div>
+									</div>
+									<div class="clr"></div>
+								</li>
+
+								<li class="jp-set-pad">
+									<div class="col-sm-3 ">
+										<div class="  jp-set-info ">${fileName}网站标题</div>
+									</div>
+									<div class="col-sm-9  jp-set-title-line">
+										<div class="col-sm-6 jp-table-distance-top ">
+											<input class="form-control input-md" placeholder="请输入网站标题" type="text" name="${fileName}_web_title" value="${OPTION(fileName+'_web_title')!}">
+										</div>
+									</div>
+									<div class="clr"></div>
+								</li>
+
+								<li class="jp-set-pad">
+									<div class="col-sm-3 ">
+										<div class="  jp-set-info ">${fileName}副标题</div>
+									</div>
+									<div class="col-sm-9  jp-set-title-line">
+										<div class="col-sm-6 jp-table-distance-top ">
+											<input class="form-control input-md" placeholder="请输入网站副标题" type="text" name="${fileName}_web_subtitle" value="${OPTION(fileName+'_web_subtitle')!}">
+										</div>
+									</div>
+									<div class="clr"></div>
+								</li>
+
+								<li class="jp-set-pad">
+									<div class="col-sm-3 ">
+										<div class="  jp-set-info ">关键字</div>
+									</div>
+									<div class="col-sm-9  jp-set-title-line">
+										<div class="col-sm-6 jp-table-distance-top ">
+											<input class="form-control input-md" placeholder="请输入网站关键字" type="text" name="${fileName}_meta_keywords" value="${OPTION(fileName+'meta_keywords')!}">
+										</div>
+									</div>
+									<div class="clr"></div>
+								</li>
+
+								<li class="jp-set-pad">
+									<div class="col-sm-3 ">
+										<div class="  jp-set-info ">描述</div>
+									</div>
+									<div class="col-sm-9  jp-set-title-line">
+										<div class="col-sm-6 jp-table-distance-top ">
+											<input class="form-control input-md" placeholder="请输入网站描述" type="text" name="${fileName}_meta_description" value="${OPTION(fileName+'meta_description')!}">
+										</div>
+									</div>
+									<div class="clr"></div>
+								</li>
+							</ul>
+						</div>
+						<!-- /.box -->
+					</div>
+				</#if>
+			</#list>
+		</#if>
 		
 		<div class="row">
 			<div class="col-xs-12">

+ 58 - 0
jpress-web-core/src/main/java/io/jpress/core/BaseFrontController.java

@@ -17,9 +17,17 @@ package io.jpress.core;
 
 import com.jfinal.core.Controller;
 
+import com.jfinal.kit.PathKit;
+import io.jpress.Consts;
+import io.jpress.model.query.OptionQuery;
 import io.jpress.template.TemplateManager;
 import io.jpress.utils.StringUtils;
 
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+import java.util.List;
+
 public class BaseFrontController extends JBaseController {
 
 	private static final String FILE_SEPARATOR = "_";
@@ -27,6 +35,56 @@ public class BaseFrontController extends JBaseController {
 
 	public void render(String name) {
 
+		//此处可获取到当前跳转的页面
+		//获取所需的html文件名列表
+		List<String> fileNames = new ArrayList<String>();
+		String path = TemplateManager.me().currentTemplatePath();
+		File pathFile = new File(PathKit.getWebRootPath(), path);
+		File[] files = pathFile.listFiles(new FileFilter() {
+			@Override
+			public boolean accept(File file) {
+				return !file.isDirectory() && (file.getName().endsWith(".html")) && (file.getName().startsWith("page") || file.getName().startsWith("content") || file.getName().startsWith("taxonomy"));
+			}
+		});
+		for (int i = 0; i < files.length; i++) {
+			String fileName = files[i].getName();
+			if (StringUtils.isNotEmpty(fileName.trim())) {
+				fileNames.add(fileName.substring(0,fileName.lastIndexOf(".")));
+			}
+		}
+
+		String fileName = null;
+		if (StringUtils.isNotEmpty(name)) {
+			fileName = name.substring(0,name.lastIndexOf("."));
+		}
+		if (fileNames.contains(fileName)) {
+			String webName = OptionQuery.me().findValue(fileName+"_web_name");
+			if (StringUtils.isNotEmpty(webName)) {
+				setAttr(Consts.ATTR_GLOBAL_WEB_NAME, webName);
+			}
+
+			String webTitle = OptionQuery.me().findValue(fileName+"_web_title");
+			if (StringUtils.isNotEmpty(webTitle)) {
+				setAttr(Consts.ATTR_GLOBAL_WEB_TITLE, webTitle);
+			}
+
+			String webSubtitle = OptionQuery.me().findValue(fileName+"_web_subtitle");
+			if (StringUtils.isNotEmpty(webSubtitle)) {
+				setAttr(Consts.ATTR_GLOBAL_WEB_SUBTITLE, webSubtitle);
+			}
+
+			String metaKeywords = OptionQuery.me().findValue(fileName+"_meta_keywords");
+			if (StringUtils.isNotEmpty(metaKeywords)) {
+				setAttr(Consts.ATTR_GLOBAL_META_KEYWORDS, metaKeywords);
+			}
+
+			String metaDescription = OptionQuery.me().findValue(fileName+"_meta_description");
+			if (StringUtils.isNotEmpty(metaDescription)) {
+				setAttr(Consts.ATTR_GLOBAL_META_DESCRIPTION, metaDescription);
+			}
+		}
+
+
 		renderFile = null;
 
 		initRenderFile(name);

+ 1 - 1
jpress-web-template-usoftchina/src/main/webapp/templates/usoftchina/_layout.html

@@ -10,7 +10,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<title>${WEB_TITLE!WEB_NAME!} - ${WEB_SUBTITLE!'欢迎访问优软科技官网'}</title>
+<title>${WEB_TITLE!WEB_NAME!WEB_SUBTITLE!'优软科技-欢迎访问优软科技官网'}</title>
 <meta name="keywords" content="${META_KEYWORDS!}">
 <meta name="description" content="${META_DESCRIPTION!}">
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">