查看所有包含 article 标签的文章
八月
1

[Hack]将artile模组中的文章的关键词加入到HTML的Meta头中

Author Dominic    Category XOOPS     Tags , , ,

HTML页面的keywords Meta是非常重要的一个Meta,它提供给搜索引擎以指引,告诉当前页面的主要内容,虽然目前很多搜索引擎均不在把把keywords作为唯一标示,但其重要性还是显著的。中可以在后台设置Meta Keywords,通过Smarty变量xoops_meta_keywords写入HTML页面,但这种方式导致所有页面的这个Meta头都一样,影响了keywords Meta的效果,修改模组的view..php文件和主题模板文件即可达到即兼顾系统设置和页面个性化keywords Meta的目的,我们将发布文章的录入的tag显示在HTML Meta头中。

首先修改htdocs\modules\\view..php文件289行附近,

将原来的

if(@include_once XOOPS_ROOT_PATH.”/modules/tag/include/tagbar.php”){
    $xoopsTpl->assign(‘tagbar’, tagBar($article_obj->getVar(“art_keywords”, “n”)));
}

修改成:

$extra_meta_keywords = $article_obj->getVar(“art_keywords”, “n”);//Modifyed By XuYong 添加tag到html的meta标签
if(@include_once XOOPS_ROOT_PATH.”/modules/tag/include/tagbar.php”){
    $xoopsTpl->assign(‘tagbar’, tagBar($article_obj->getVar(“art_keywords”, “n”)));
    if(!empty($extra_meta_keywords))$extra_meta_keywords = str_replace(tag_get_delimiter(), “,”, $extra_meta_keywords);//Modifyed By XuYong 添加tag到html的meta标签
}
$xoopsTpl -> assign(“extra_meta_keywords”,$extra_meta_keywords);//Modifyed By XuYong 添加tag到html的meta标签

 即通过增加extra_meta_keywords Smarty变量达到个性化keywords Meta 的目的。

再修改站点所用到的主题模板文件theme.html,将原来的

<meta name=”keywords” content=”<{$xoops_meta_keywords}>” />

 修改成

<meta name=”keywords” content=”<{$extra_meta_keywords}>,<{$xoops_meta_keywords}>” />

八月
1

[Hack]让article模组显示的文章打印功能和RSS输出功能使用站点Logo

Author Dominic    Category XOOPS     Tags , ,

模组中显示的文章的时候下面的工具箱中的打印功能输出页面头部会打印个图片,而这个图片却是模组xoops_version.php中配置的模块图片,打印出来实在是有些刺眼,RSS输出的地方也是这样。还是改成站点的Logo图片比较好

首先修改htdocs\modules\\print.php文件90行处,

将原来的

$print_data["image"] = XOOPS_URL . “/modules/” . $xoopsModule->getVar(“dirname”) . “/” . $xoopsModule->getInfo( ‘image’ );

 修改成:

$print_data["image"] = XOOPS_URL . “/images/logo.jpg”;//Modified By XuYong 采用站点Logo

再修改htdocs\modules\\xml.php 284行附近,

将原来的

“url”            => XOOPS_URL.”/modules/”.$GLOBALS["artdirname"].”/”.$xoopsModule->getInfo(“image”),

修改成:

“url”            => XOOPS_URL.”/images/logo.jpg”,

其中Logo的具体路径要根据实际情况调整。

八月
1

[Hack]解决article模组中添加文章时使用html标签导致段落换行不正确的问题

Author Dominic    Category XOOPS     Tags , ,

模组发布文章是在编辑器下面有几个选项:“使用HTML标签”、“使用表情图”、“启用内置码”、“启用换行符(如果启用HTML标签,建议关闭) ”,一般都是选中状态(可能有配置项,但是好像默认是都选中),不明白的是为什么里面都提示“如果启用HTML标签,建议关闭”了就是不把第一个和第四个做成反选(加个Javascript控制一下就可以了),直接导致发布文章之后文章显示会换行2次,在HTML源代码中可以看到在行跟行之间出现了<BR><BR>2次,导致行与行之间多出一个br。

解决办法:编辑htdocs\modules\\edit..php文件111行,

将原来的

$dobr = $article_obj->isNew() || $newpage;

改成:

//Modified By XuYong 根据 $dohtml 调整$dobr默认值
if($dohtml==0)
{
    $dobr = $article_obj->isNew() || $newpage;
}
else
{
    $dobr = 0;
}

 这样设置了“使用HTML标签”就会自动关闭“启用换行符”了。

七月
26

[Hack]让Article模组子分类的文章可以加入到上级分类的专题中

Author Dominic    Category XOOPS     Tags , ,

当在的某个分类添加了一个专题之后,目前的限制了将该分类下级分类的文章添加到这个专题中,这点限制在我看来不是很合理,作为拥有下级分类的分类,从隶属关系上讲下级分类的文章也应当属于该分类的,而且作为拥有下级分类的文章,这个分类所直接隶属的文章应当非常少,只有放到其下所有分类都不合适的时候,才放入该分类中。

修改htdocs\modules\\cp..php文件212行附近,

原来为:

    unset($subCategories_obj);
    if(!empty($category_id)){
        $criteria = new CriteriaCompo(new Criteria("top_expire", time(), ">"));
        $topics_obj =& $topic_handler->getByCategory($category_id, $xoopsModuleConfig["topics_max"], 0, $criteria, array("top_title"));
        if(count($topics_obj)>0) foreach($topics_obj as $id=>$topic){
            $topics[] = array(

修改为:

    unset($subCategories_obj);
    if(!empty($category_id)){
        $criteria = new CriteriaCompo(new Criteria("top_expire", time(), ">"));
        //Hack by XuYong 子分类的文章可以加入到上级分类的专题中
        $category_pid= 0;
        if(!empty($category_id))$category_pid = $category_obj->getVar("cat_pid");
        //        $topics_obj =& $topic_handler->getByCategory($category_id, $xoopsModuleConfig["topics_max"], 0, $criteria, array("top_title"));
                $topics_obj =& $topic_handler->getByCategory($category_pid, $xoopsModuleConfig["topics_max"], 0, $criteria, array("top_title"));
        //End Hack
        if(count($topics_obj)>0) foreach($topics_obj as $id=>$topic){
            $topics[] = array(
七月
26

[Hack]更改article模组输出feed时时间不对的缺陷

Author Dominic    Category XOOPS     Tags , , , ,

服务时区设置为+8,在命令行行下显示正常,中设置服务器所在时区为+0800,可输出的时时间却怎么也不对,导致outlookRSS订阅中显示的文章时间也不对均为GMT+1600时区,哪有这样的时区哦,时区范围GMT-1200~GMT+1200。

修改方法如下:

1、修改htdocs\modules\\class\feedcreator.class.php文件中739行附近FeedDate类的构造函数FeedDate如下:

   1: function FeedDate($dateString="") {
   2:     $tzOffset = 0;
   3:     if ($dateString=="") $dateString = date("r");
   4:  
   5:     //if (is_integer($dateString)) {
   6:     if (is_numeric($dateString)) {
   7:         $this->unix = $dateString;
   8:         return;
   9:     }
  10:    //Hack By XuYong 调整日期格式
  11:     if (preg_match("~(?:(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s+)?(\\d{1,2})\\s+([a-zA-Z]{3})\\s+(\\d{4})\\s+(\\d{2}):(\\d{2}):(\\d{2})\\s+(.*)~",$dateString,$matches)) {
  12:         $months = Array("Jan"=>1,"Feb"=>2,"Mar"=>3,"Apr"=>4,"May"=>5,"Jun"=>6,"Jul"=>7,"Aug"=>8,"Sep"=>9,"Oct"=>10,"Nov"=>11,"Dec"=>12);
  13:         $this->unix = gmmktime($matches[4],$matches[5],$matches[6],$months[$matches[2]],$matches[1],$matches[3]);
  14:         if (substr($matches[7],0,1)=='+' OR substr($matches[7],0,1)=='-') {
  15:             $tzOffset = (substr($matches[7],0,3) * 60 + substr($matches[7],-2)) * 60;
  16:         } else {
  17:             if (strlen($matches[7])==1) {
  18:                 $oneHour = 3600;
  19:                 $ord = ord($matches[7]);
  20:                 if ($ord < ord("M")) {
  21:                     $tzOffset = (ord("A") - $ord - 1) * $oneHour;
  22:                 } elseif ($ord >= ord("M") AND $matches[7]!="Z") {
  23:                     $tzOffset = ($ord - ord("M")) * $oneHour;
  24:                 } elseif ($matches[7]=="Z") {
  25:                     $tzOffset = 0;
  26:                 }
  27:             }
  28:             switch ($matches[7]) {
  29:                 case "UT":
  30:                 case "GMT":    $tzOffset = 0;
  31:             }
  32:         }
  33:
  34:         $tzOffset += date("Z",0);
  35:         $this->unix += $tzOffset;
  36:  
  37:         if (TIME_ZONE!="")
  38:         {
  39:             $server_TZ = abs(intval($GLOBALS['xoopsConfig']['server_TZ'] * 3600.0));
  40:             $this->unix += ($server_TZ - date("Z", 0)) % 43200;
  41:         }
  42:  
  43:         return;
  44:     }
  45:     if (preg_match("~(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})(.*)~",$dateString,$matches)) {
  46:         $this->unix = gmmktime($matches[4],$matches[5],$matches[6],$matches[2],$matches[3],$matches[1]);
  47:         if (substr($matches[7],0,1)=='+' OR substr($matches[7],0,1)=='-') {
  48:             $tzOffset = (substr($matches[7],0,3) * 60 + substr($matches[7],-2)) * 60;
  49:         } else {
  50:             if ($matches[7]=="Z") {
  51:                 $tzOffset = 0;
  52:             }
  53:         }
  54:         $tzOffset += date("Z",0);
  55:         $this->unix += $tzOffset;
  56:  
  57:         if (TIME_ZONE!="")
  58:         {
  59:             $server_TZ = abs(intval($GLOBALS['xoopsConfig']['server_TZ'] * 3600.0));
  60:             $this->unix += ($server_TZ - date("Z", 0)) % 43200;
  61:         }
  62:         return;
  63:     }
  64:     $this->unix = 0;
  65: }

2、修改htdocs\modules\\class\xml.php文件58行,

原来为:

$TIME_ZONE = $prefix.date(“H:i”, $server_TZ);

修改为:

$TIME_ZONE = $prefix.date(“H:i”, ($server_TZ – date(“Z”, 0)) % 43200); //Hack By XuYong 调整时区显示,防止出现+1600时区

七月
26

[Fixed]Article模组取某个分类的子分类时出错的Bug

Author Dominic    Category XOOPS     Tags , ,

当我们使用模组时,如果我们想获取某个分类的所有子分类时,会发现取到的数据有可能不是我们所需要的,返回的却是所有分类,当然这个Bug只存在于1.0版本中,下个版本中可能会被修正。(不知道D.J.什么时候出下个版本呢)

修改htdocs\modules\\class\category.php文件中378行附近,

原来为:

$category_array = $tree->getAllChild(0);

修改之后:

$category_array = $tree->getAllChild($pid);//Modifyed By XuYong 没有使用$pid,导致没有起到任何作用

即可。

七月
26

[Hack]在XOOPS的article模组中显示完整文章标题

Author Dominic    Category XOOPS     Tags , , , ,

D.J.老大开发的非常好用,其中有一个小缺陷:当我们获取文章列表时一般会对文章标题截取给定长度,但是当我们这样做之后,文章列表中文章标题是被截断了,但是对应A标签的title属性中也使用了截断之后的文字。这样导致的结果是当我们把鼠标移动到文章标题上面的时候,并不能看到完整的标题。

解决办法如下:

1、修改htdocs\modules\\blocks\block.php和blocks..php文件,在162行附近加入如下行代码

     $_art["art_fulltitle"] = $_art["art_title"];//Modifyed By XuYong

修改之后完整代码为:

            $_art["art_fulltitle"] = $_art["art_title"];//Modifyed By XuYong
        if(!empty($options[3])){
            $_art["art_title"] = xoops_substr($_art["art_title"], 0, $options[3]);
        }

2、在对应的模板文件中使用art_fulltitle来显示超链接的title属性。可修改article_block_article.html文件如下:

<ul class="blkList">
  <{foreach item= from=$block.articles name=art}>
  <li><span class="blkTime"><{$.time}></span><a href="<{$xoops_url}>/modules/<{$block.dirname}>/view..php<{$smarty.const.URL_DELIMITER}><{$.art_id}>/c<{$.cat_id}>" target="_blank" title="<{$.art_fulltitle}>"><{$.art_title|smartTruncate:19}></a></li>
  <{/foreach}>
</ul>
七月
26

[Hack]让article模组中显示用户真实姓名

Author Dominic    Category XOOPS     Tags , , ,

目前模组显示的都是文章发布者的登录名,有些时候显示真实姓名可能更恰当,特别是当提交者是单位的时候,这里提一个临时解决方案,最佳方案是放到配置项中由管理员配置显示。

修改htdocs\modules\\class\.php文件中的getAuthor函数如下即可:

function &getAuthor($retrieveUname = false)
    {
        $author["uid"] = $this->getVar("uid");
        if($retrieveUname){
            $author["name"] = XoopsUser::getUnameFromId($author["uid"],1) ;
        }
        return $author;
    }

配合XOOPS中修正获取真实用户名的Bug (Fixed) 效果更好。

四月
18

XOOPS中article模块 文章管理界面 的友好模板

D.J. 开发的模块确实很好用,但是他的文章管理界面不太符合中国人使用习惯(被ASP CMS 惯坏了),充分发扬的全部模板定制精神,做了一个针对文章管理的功能的友好模板。采用了表格显示文章列表的方式。如图:

 

下载附件解压到themes\你的主题名称\modules\覆盖或者解压到modules\\templates覆盖并在后台更新模块.

 下载地址:article_cparticle.html 

四月
12

Xoops中FCKeditor的上传文件时中文文件名解决方案

Author Dominic    Category XOOPS     Tags , , , ,

使用FCKeditor上传图片、Flash等文件时,文件名中的中文会显示为乱码并在在服务器上面保存有些全部为乱码文件,不能正常显示,在网上搜了一下前辈们的解决方法,没找到很好的解决办法。看来还有N多的人和我一样的困惑,但解决办法又如此的简单:

将 editor\filemanager\browser\default\frmupload.html 文件的编码改为UTF-8即可。

如果不能解决则

编辑upload.php文件

// Compose the file path.

//Modifyed By XuYong 修正UTF-8的问题

$sFileName =iconv(“utf-8″,”gbk”,$sFileName);

//End Modifyed

环境 2.0.16 UTF-8

专题推荐

标签

404错误 apache article CSS dotNet fckeditor Hack iOS iTouch javascript PayPal PHP rar ubuntu utf8 VMware VMware Tools weblinks Win2008 Windows Server 2008 Wordpress xajax XOOPS 上传 个人 中文 中文习惯 关键词 合肥 域名 安全 工作 文件类型 文章管理 时区 未分类 模块 模板 模组 电子地图 界面友好 禅意花园 网速 腾讯 配置管理

分类目录

新浪微博

存档

最近文章

近期评论

友情链接

分享按钮