ecshop文章标题加样式
ecshop 默认只有商品名称有样式,为了能让文章也有特色的标题,开发以下插件为文章标题加样式
文章标题加样式修改:
1、
ALTER TABLE `ecs_article` ADD `title_style` VARCHAR( 60 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '+'
2、languages\zh_cn\admin\article.php 加入语言
//文章标题加样式 by neo
$_LANG['select_font'] = '字体样式';
$_LANG['font_styles'] = array('strong' => '加粗', 'em' => '斜体', 'u' => '下划线', 'strike' => '删除线');
$_LANG['js_languages']['cancel_color'] = '无样式';
3、admin\js\colorselector.js 复制一个,改名 colorselector2.js
并把里面的
document.getElementById("goods_name_color").value = this.bgColor;
document.getElementsByName("goods_name").item(0).style.color = this.bgColor;
改成
document.getElementById("title_color").value = this.bgColor;//文章标题加样式 by neo
document.getElementsByName("title").item(0).style.color = this.bgColor;//文章标题加样式 by neo
4、admin\templates\article_info.htm
页面顶部加入,colorselector2.js
如下效果:
{include file="pageheader.htm"}
{insert_scripts files="../js/utils.js,selectzone.js,colorselector2.js,validator.js"}<!-- 文章标题加样式 by neo -->
再找到
<tr>
<td class="narrow-label">{$lang.title}</td>
<td><input type="text" name="title" size ="40" maxlength="60" value="{$article.title|escape}" />{$lang.require_field}</td>
</tr>
修改成
<!-- 文章标题加样式 by neo -->
<tr>
<td class="label">{$lang.title}</td>
<td>
<input type="text" name="title" value="{$article.title|escape}" style="float:left;color:{$title_color};" size="30" />
<div style="background-color:{$title_color};float:left;margin-left:2px;" id="font_color" onclick="ColorSelecter.Show(this);"><img src="images/color_selecter.gif" style="margin-top:-1px;" /></div>
<input type="hidden" id="title_color" name="title_color" value="{$title_color}" />
<select name="title_style">
<option value="">{$lang.select_font}</option>
{html_options options=$lang.font_styles selected=$title_style}
</select>
{$lang.require_field}
</td>
</tr>
<!-- 文章标题加样式 by neo -->
5、admin\article.php
1).找到
require_once(ROOT_PATH . 'includes/cls_image.php');
下加入
$image = new cls_image($_CFG['bgcolor']);//文章标题加样式 by neo
2).找到(有2处都需要改)
$smarty->assign('article', $article);
上加入
/* 文章标题加样式 by neo */
$title_style = explode('+', empty($article['title_style']) ? '+' : $article['title_style']);
$smarty->assign('title_color', $title_style[0]);
$smarty->assign('title_style', $title_style[1]);
3).找到
$sql = "INSERT INTO ".$ecs->table('article')."(title, cat_id, article_type, is_open, author, ".
"author_email, keywords, content, add_time, file_url, open_type, link, description) ".
"VALUES ('$_POST[title]', '$_POST[article_cat]', '$_POST[article_type]', '$_POST[is_open]', ".
"'$_POST[author]', '$_POST[author_email]', '$_POST[keywords]', '$_POST[FCKeditor1]', ".
"'$add_time', '$file_url', '$open_type', '$_POST[link_url]', '$_POST[description]')";
修改成
$title_style = $_POST['title_color'] . '+' . $_POST['title_style'];//文章标题加样式 by neo
$sql = "INSERT INTO ".$ecs->table('article')."(title, cat_id, article_type, is_open, author, ".
"author_email, keywords, content, add_time, file_url, open_type, link, description, title_style) ".
"VALUES ('$_POST[title]', '$_POST[article_cat]', '$_POST[article_type]', '$_POST[is_open]', ".
"'$_POST[author]', '$_POST[author_email]', '$_POST[keywords]', '$_POST[FCKeditor1]', ".
"'$add_time', '$file_url', '$open_type', '$_POST[link_url]', '$_POST[description]', '$title_style')";
4).找到
if ($exc->edit("title='$_POST[title]', cat_id='$_POST[article_cat]', article_type='$_POST[article_type]', is_open='$_POST[is_open]', author='$_POST[author]', author_email='$_POST[author_email]', keywords ='$_POST[keywords]', file_url ='$file_url', open_type='$open_type', content='$_POST[FCKeditor1]', link='$_POST[link_url]', description = '$_POST[description]'", $_POST['id']))
修改成
$title_style = $_POST['title_color'] . '+' . $_POST['title_style'];//文章标题加样式 by neo
if ($exc->edit("title='$_POST[title]', cat_id='$_POST[article_cat]', article_type='$_POST[article_type]', is_open='$_POST[is_open]', author='$_POST[author]', author_email='$_POST[author_email]', keywords ='$_POST[keywords]', file_url ='$file_url', open_type='$open_type', content='$_POST[FCKeditor1]', link='$_POST[link_url]', description = '$_POST[description]', title_style = '$title_style'", $_POST['id']))
======================以上步骤能实现了后台的文章标题样式添加和修改============================
前台php部分:在要实现文章标题样式页面找到对应的php添加查询的字段 title_style 和 循环时添加
$arr[$article_id]['title_style'] = add_style($row['title'],$row['title_style']);//文章标题加样式 by neo
$arr[$article_id]['short_title_style'] = add_style($arr[$article_id]['short_title'],$row['title_style']);//文章标题加样式 by neo
前台dwt,lbi模板部分
{$article.short_title_style}
或者
{$article.title_style}
1、index.php
找到
function index_get_new_articles()
里面的sql添加 , a.title_style 这个字段进去
如:
$sql = 'SELECT a.article_id, a.title, a.title_style, ac.cat_name, a.add_time, a.file_url, a.open_type, ac.cat_id, ac.cat_name ' .
' FROM ' . $GLOBALS['ecs']->table('article') . ' AS a, ' .
$GLOBALS['ecs']->table('article_cat') . ' AS ac' .
' WHERE a.is_open = 1 AND a.cat_id = ac.cat_id AND ac.cat_type = 1' .
' ORDER BY a.article_type DESC, a.add_time DESC LIMIT ' . $GLOBALS['_CFG']['article_number'];
在里面foreach里添加
$arr[$idx]['title_style'] = add_style($row['title'],$row['title_style']);//文章标题加样式 by neo
$arr[$idx]['short_title_style'] = add_style($arr[$idx]['short_title'],$row['title_style']);//文章标题加样式 by neo
作者:z1988
链接:https://www.z1988.com/357.html
文章版权归作者所有,未经允许请勿转载。