官方微博: 腾讯  
首页 > ECSHOP教程 > ECSHOP二次开发 > ECSHOP二次开发教程 > ECSHOP文章标题文字增加颜色样式修改方法

ECSHOP文章标题文字增加颜色样式修改方法

ECSHOP教程 / ecshop 教程网(www.ecshop119.com) 2015-02-22

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}" />&nbsp;
        <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


转载请注明:ECshop119模板屋-ECshop教程网(全国最专业的ECSHOP插件制作商-专业ECSHOP二次开发)

帮助目录

在线反馈

可以将问题或建议反馈给我们。

提交在线反馈

与网友交流ECSHOP开发修改。

加入QQ群交流